   1              		.syntax unified
   2              		.cpu cortex-m3
   3              		.fpu softvfp
   4              		.eabi_attribute 20, 1
   5              		.eabi_attribute 21, 1
   6              		.eabi_attribute 23, 3
   7              		.eabi_attribute 24, 1
   8              		.eabi_attribute 25, 1
   9              		.eabi_attribute 26, 1
  10              		.eabi_attribute 30, 4
  11              		.eabi_attribute 34, 1
  12              		.eabi_attribute 18, 4
  13              		.thumb
  14              		.syntax unified
  15              		.file	"stdio_uc.c"
  16              		.text
  17              	.Ltext0:
  18              		.cfi_sections	.debug_frame
  19              		.section	.text.print_putchar,"ax",%progbits
  20              		.align	1
  21              		.thumb
  22              		.thumb_func
  24              	print_putchar:
  25              	.LFB5:
  26              		.file 1 "uc_libc_dev/stdio/stdio_uc.c"
   1:uc_libc_dev/stdio/stdio_uc.c **** #include "stdio_uc.h"
   2:uc_libc_dev/stdio/stdio_uc.c **** #if defined(LINUX)
   3:uc_libc_dev/stdio/stdio_uc.c **** #include <stdarg.h>
   4:uc_libc_dev/stdio/stdio_uc.c **** #include <stdio.h>
   5:uc_libc_dev/stdio/stdio_uc.c **** #endif
   6:uc_libc_dev/stdio/stdio_uc.c **** 
   7:uc_libc_dev/stdio/stdio_uc.c **** #if defined(FREE_RTOS)
   8:uc_libc_dev/stdio/stdio_uc.c **** #include "task.h"
   9:uc_libc_dev/stdio/stdio_uc.c **** xQueueHandle stdout_queueTX;
  10:uc_libc_dev/stdio/stdio_uc.c **** xSemaphoreHandle stdout_mutex;
  11:uc_libc_dev/stdio/stdio_uc.c **** 
  12:uc_libc_dev/stdio/stdio_uc.c **** xQueueHandle debug_queueTX;
  13:uc_libc_dev/stdio/stdio_uc.c **** xSemaphoreHandle debug_mutex;
  14:uc_libc_dev/stdio/stdio_uc.c **** 
  15:uc_libc_dev/stdio/stdio_uc.c **** xQueueHandle err_queueTX;
  16:uc_libc_dev/stdio/stdio_uc.c **** xSemaphoreHandle err_mutex;
  17:uc_libc_dev/stdio/stdio_uc.c **** 
  18:uc_libc_dev/stdio/stdio_uc.c **** xQueueHandle dev1_queueTX;
  19:uc_libc_dev/stdio/stdio_uc.c **** xSemaphoreHandle dev1_mutex;
  20:uc_libc_dev/stdio/stdio_uc.c **** 
  21:uc_libc_dev/stdio/stdio_uc.c **** xQueueHandle dev2_queueTX;
  22:uc_libc_dev/stdio/stdio_uc.c **** xSemaphoreHandle dev2_mutex;
  23:uc_libc_dev/stdio/stdio_uc.c **** 
  24:uc_libc_dev/stdio/stdio_uc.c **** xQueueHandle dev3_queueTX;
  25:uc_libc_dev/stdio/stdio_uc.c **** xSemaphoreHandle dev3_mutex;
  26:uc_libc_dev/stdio/stdio_uc.c **** 
  27:uc_libc_dev/stdio/stdio_uc.c **** xQueueHandle dev4_queueTX;
  28:uc_libc_dev/stdio/stdio_uc.c **** xSemaphoreHandle dev4_mutex;
  29:uc_libc_dev/stdio/stdio_uc.c **** #endif //#if defined(FREE_RTOS)
  30:uc_libc_dev/stdio/stdio_uc.c **** 
  31:uc_libc_dev/stdio/stdio_uc.c **** // PONTEIROS DAS FUNÇÕES DE ENTRADA E SAÍDA
  32:uc_libc_dev/stdio/stdio_uc.c **** static int (*stdio_getc)(u8 *ch);		// Ponteiro para a função padrão de entrada
  33:uc_libc_dev/stdio/stdio_uc.c **** static int (*stdio_putc)(n16 ch);		// Ponteiro para a função padrão de saída
  34:uc_libc_dev/stdio/stdio_uc.c **** static int (*debug_putc)(n16 ch);		// Ponteiro para a função padrão de saída de LOG
  35:uc_libc_dev/stdio/stdio_uc.c **** static int (*err_putc)(n16 ch);			// Ponteiro para a função padrão de saída de erro
  36:uc_libc_dev/stdio/stdio_uc.c **** 
  37:uc_libc_dev/stdio/stdio_uc.c **** #if !defined(LINUX)
  38:uc_libc_dev/stdio/stdio_uc.c **** static int (*dev1_putc)(n16 c);	// Ponteiro para a função de saida do primeiro dipositivo
  39:uc_libc_dev/stdio/stdio_uc.c **** static int (*dev2_putc)(n16 c);	// Ponteiro para a função de saida do segundo dipositivo
  40:uc_libc_dev/stdio/stdio_uc.c **** static int (*dev3_putc)(n16 c);	// Ponteiro para a função de saida do terceiro dipositivo
  41:uc_libc_dev/stdio/stdio_uc.c **** static int (*dev4_putc)(n16 c);	// Ponteiro para a função de saida do quarto dipositivo
  42:uc_libc_dev/stdio/stdio_uc.c **** #endif // #if defined(LINUX)
  43:uc_libc_dev/stdio/stdio_uc.c **** 
  44:uc_libc_dev/stdio/stdio_uc.c **** static void print_putchar(pPrint output, u8 c);
  45:uc_libc_dev/stdio/stdio_uc.c **** static void print_fill(pPrint output, int n);
  46:uc_libc_dev/stdio/stdio_uc.c **** static void print_string(pPrint output, char * s);
  47:uc_libc_dev/stdio/stdio_uc.c **** static void print_int(pPrint output, int x);
  48:uc_libc_dev/stdio/stdio_uc.c **** static void print_long(pPrint output, long x);
  49:uc_libc_dev/stdio/stdio_uc.c **** static void print_uint(pPrint output, unsigned int x);
  50:uc_libc_dev/stdio/stdio_uc.c **** #if ( STDIO_USE_SUBINT == pdON )
  51:uc_libc_dev/stdio/stdio_uc.c **** static void print_intF(pPrint output, long x);
  52:uc_libc_dev/stdio/stdio_uc.c **** #endif
  53:uc_libc_dev/stdio/stdio_uc.c **** #if ( STDIO_USE_HEX == pdON )
  54:uc_libc_dev/stdio/stdio_uc.c **** static void print_hex(pPrint output, unsigned int x);
  55:uc_libc_dev/stdio/stdio_uc.c **** #endif
  56:uc_libc_dev/stdio/stdio_uc.c **** #if ( STDIO_USE_BIN == pdON )
  57:uc_libc_dev/stdio/stdio_uc.c **** static void print_bin(pPrint output, long x);
  58:uc_libc_dev/stdio/stdio_uc.c **** #endif
  59:uc_libc_dev/stdio/stdio_uc.c **** #if ( STDIO_USE_TIME == pdON )
  60:uc_libc_dev/stdio/stdio_uc.c **** static void print_time(pPrint output, long x);
  61:uc_libc_dev/stdio/stdio_uc.c **** #endif
  62:uc_libc_dev/stdio/stdio_uc.c **** #if ( STDIO_USE_FLOAT == pdON )
  63:uc_libc_dev/stdio/stdio_uc.c **** static void print_float(pPrint output, double x);
  64:uc_libc_dev/stdio/stdio_uc.c **** static void print_exp(pPrint output, double x);
  65:uc_libc_dev/stdio/stdio_uc.c **** #endif
  66:uc_libc_dev/stdio/stdio_uc.c **** //static void doprint(pPrint output, cpchar fmt, va_list args);
  67:uc_libc_dev/stdio/stdio_uc.c **** 
  68:uc_libc_dev/stdio/stdio_uc.c **** // ##################################################################################
  69:uc_libc_dev/stdio/stdio_uc.c **** // REGISTRO DAS FUNÇÕES STDIO
  70:uc_libc_dev/stdio/stdio_uc.c **** 
  71:uc_libc_dev/stdio/stdio_uc.c **** 
  72:uc_libc_dev/stdio/stdio_uc.c **** #if defined(FREE_RTOS)
  73:uc_libc_dev/stdio/stdio_uc.c **** #if !defined(LINUX)
  74:uc_libc_dev/stdio/stdio_uc.c **** // Registra a função de saída do determinado dipositivo, registra o semáforo e a fila de impressão
  75:uc_libc_dev/stdio/stdio_uc.c **** void rprintf_RegisterDev(const u8 device, int(*putc)(n16), xQueueHandle queue, xSemaphoreHandle mut
  76:uc_libc_dev/stdio/stdio_uc.c ****    	// regitrar a função de saida do dispositivo
  77:uc_libc_dev/stdio/stdio_uc.c ****    	switch(device) {
  78:uc_libc_dev/stdio/stdio_uc.c **** 	case STDIO_DEV1: 	dev1_putc = putc; dev1_queueTX = queue; dev1_mutex = mutex; break;
  79:uc_libc_dev/stdio/stdio_uc.c **** 	case STDIO_DEV2: 	dev2_putc = putc; dev2_queueTX = queue; dev2_mutex = mutex; break;
  80:uc_libc_dev/stdio/stdio_uc.c **** 	case STDIO_DEV3: 	dev3_putc = putc; dev3_queueTX = queue; dev3_mutex = mutex; break;
  81:uc_libc_dev/stdio/stdio_uc.c **** 	case STDIO_DEV4: 	dev4_putc = putc; dev4_queueTX = queue; dev4_mutex = mutex; break;
  82:uc_libc_dev/stdio/stdio_uc.c ****   	}
  83:uc_libc_dev/stdio/stdio_uc.c **** }
  84:uc_libc_dev/stdio/stdio_uc.c **** #endif // #if !defined(LINUX)
  85:uc_libc_dev/stdio/stdio_uc.c **** 
  86:uc_libc_dev/stdio/stdio_uc.c **** // Registra a função de saída padrão
  87:uc_libc_dev/stdio/stdio_uc.c **** void lputchar_RegisterDev(int (*func_putc)(n16), xQueueHandle queue, xSemaphoreHandle mutex ) {
  88:uc_libc_dev/stdio/stdio_uc.c **** 	stdio_putc = func_putc;
  89:uc_libc_dev/stdio/stdio_uc.c **** 	stdout_queueTX = queue;
  90:uc_libc_dev/stdio/stdio_uc.c **** 	stdout_mutex = mutex;
  91:uc_libc_dev/stdio/stdio_uc.c **** }
  92:uc_libc_dev/stdio/stdio_uc.c **** 
  93:uc_libc_dev/stdio/stdio_uc.c **** // Registra a função de saída padrão de LOG
  94:uc_libc_dev/stdio/stdio_uc.c **** void ldebug_RegisterDev(int (*putc)(n16), xQueueHandle queue, xSemaphoreHandle mutex ) {
  95:uc_libc_dev/stdio/stdio_uc.c **** 	debug_putc = putc;
  96:uc_libc_dev/stdio/stdio_uc.c **** 	debug_queueTX = queue;
  97:uc_libc_dev/stdio/stdio_uc.c **** 	debug_mutex = mutex;
  98:uc_libc_dev/stdio/stdio_uc.c **** }
  99:uc_libc_dev/stdio/stdio_uc.c **** 
 100:uc_libc_dev/stdio/stdio_uc.c **** // Registra a função de saída padrão de erro
 101:uc_libc_dev/stdio/stdio_uc.c **** void lerr_RegisterDev(int (*putc)(n16), xQueueHandle queue, xSemaphoreHandle mutex ) {
 102:uc_libc_dev/stdio/stdio_uc.c **** 	err_putc = putc;
 103:uc_libc_dev/stdio/stdio_uc.c **** 	err_queueTX = queue;
 104:uc_libc_dev/stdio/stdio_uc.c **** 	err_mutex = mutex;
 105:uc_libc_dev/stdio/stdio_uc.c **** }
 106:uc_libc_dev/stdio/stdio_uc.c **** 
 107:uc_libc_dev/stdio/stdio_uc.c **** #else // #if defined(FREE_RTOS)
 108:uc_libc_dev/stdio/stdio_uc.c **** 
 109:uc_libc_dev/stdio/stdio_uc.c **** #if !defined(LINUX)
 110:uc_libc_dev/stdio/stdio_uc.c **** // Registra a função de saída do determinado dispositivo para usarmos o rprintf
 111:uc_libc_dev/stdio/stdio_uc.c **** void rprintf_RegisterDev(const u8 device, int(*putc)(n16) ) {
 112:uc_libc_dev/stdio/stdio_uc.c ****    	// regitrar a função de saida do dispositivo
 113:uc_libc_dev/stdio/stdio_uc.c ****    	switch(device) {
 114:uc_libc_dev/stdio/stdio_uc.c **** 	case STDIO_DEV1: 	dev1_putc = putc; break;
 115:uc_libc_dev/stdio/stdio_uc.c ****    	case STDIO_DEV2: 	dev2_putc = putc; break;
 116:uc_libc_dev/stdio/stdio_uc.c ****    	case STDIO_DEV3: 	dev3_putc = putc; break;
 117:uc_libc_dev/stdio/stdio_uc.c ****    	case STDIO_DEV4: 	dev4_putc = putc; break;
 118:uc_libc_dev/stdio/stdio_uc.c ****   	}
 119:uc_libc_dev/stdio/stdio_uc.c **** }
 120:uc_libc_dev/stdio/stdio_uc.c **** #endif // #if !defined(LINUX)
 121:uc_libc_dev/stdio/stdio_uc.c **** 
 122:uc_libc_dev/stdio/stdio_uc.c **** // Registra a função de saída padrão
 123:uc_libc_dev/stdio/stdio_uc.c **** void lputchar_RegisterDev(int (*func_putc)(n16)) {
 124:uc_libc_dev/stdio/stdio_uc.c **** 	stdio_putc = func_putc;
 125:uc_libc_dev/stdio/stdio_uc.c **** }
 126:uc_libc_dev/stdio/stdio_uc.c **** 
 127:uc_libc_dev/stdio/stdio_uc.c **** // Registra a função de saída padrão de LOG
 128:uc_libc_dev/stdio/stdio_uc.c **** void ldebug_RegisterDev(int (*putc)(n16)) {
 129:uc_libc_dev/stdio/stdio_uc.c **** 	debug_putc = putc;
 130:uc_libc_dev/stdio/stdio_uc.c **** }
 131:uc_libc_dev/stdio/stdio_uc.c **** 
 132:uc_libc_dev/stdio/stdio_uc.c **** // Registra a função de saída padrão de erro
 133:uc_libc_dev/stdio/stdio_uc.c **** void lerr_RegisterDev(int (*putc)(n16)) {
 134:uc_libc_dev/stdio/stdio_uc.c **** 	err_putc = putc;
 135:uc_libc_dev/stdio/stdio_uc.c **** }
 136:uc_libc_dev/stdio/stdio_uc.c **** #endif // #if defined(FREE_RTOS)
 137:uc_libc_dev/stdio/stdio_uc.c **** 
 138:uc_libc_dev/stdio/stdio_uc.c **** 
 139:uc_libc_dev/stdio/stdio_uc.c **** // Registra a função de entrada padrão
 140:uc_libc_dev/stdio/stdio_uc.c **** void lgetchar_RegisterDev(int (*func_getc)(u8*)) {
 141:uc_libc_dev/stdio/stdio_uc.c **** 	stdio_getc = func_getc;
 142:uc_libc_dev/stdio/stdio_uc.c **** }
 143:uc_libc_dev/stdio/stdio_uc.c **** 
 144:uc_libc_dev/stdio/stdio_uc.c **** // ################################################################################################
 145:uc_libc_dev/stdio/stdio_uc.c **** // IMPRESSÃO DE CARACTERES
 146:uc_libc_dev/stdio/stdio_uc.c **** // ################################################################################################
 147:uc_libc_dev/stdio/stdio_uc.c **** 
 148:uc_libc_dev/stdio/stdio_uc.c **** //  Esta função direciona a impressão do caractere para o dipositivo de saida ou armazena em buffer
 149:uc_libc_dev/stdio/stdio_uc.c **** static void print_putchar(pPrint output, u8 c) {
  27              		.loc 1 149 0
  28              		.cfi_startproc
  29              		@ args = 0, pretend = 0, frame = 0
  30              		@ frame_needed = 0, uses_anonymous_args = 0
  31              	.LVL0:
 150:uc_libc_dev/stdio/stdio_uc.c **** 	if (output->buf!=NULL) { 				// Checa se há buffer para fazer formatação de string
  32              		.loc 1 150 0
  33 0000 0268     		ldr	r2, [r0]
 149:uc_libc_dev/stdio/stdio_uc.c **** 	if (output->buf!=NULL) { 				// Checa se há buffer para fazer formatação de string
  34              		.loc 1 149 0
  35 0002 38B5     		push	{r3, r4, r5, lr}
  36              	.LCFI0:
  37              		.cfi_def_cfa_offset 16
  38              		.cfi_offset 3, -16
  39              		.cfi_offset 4, -12
  40              		.cfi_offset 5, -8
  41              		.cfi_offset 14, -4
  42              		.loc 1 150 0
  43 0004 22B1     		cbz	r2, .L2
 151:uc_libc_dev/stdio/stdio_uc.c **** 		output->buf[output->count++] = c;
  44              		.loc 1 151 0
  45 0006 4368     		ldr	r3, [r0, #4]
  46 0008 5C1C     		adds	r4, r3, #1
  47 000a 4460     		str	r4, [r0, #4]
  48 000c D154     		strb	r1, [r2, r3]
 152:uc_libc_dev/stdio/stdio_uc.c **** 		return;		// se é somente para fazer formatação de string não vamos fazer impressão em dispositivo
  49              		.loc 1 152 0
  50 000e 38BD     		pop	{r3, r4, r5, pc}
  51              	.L2:
  52              	.LVL1:
  53              	.LBB4:
  54              	.LBB5:
 153:uc_libc_dev/stdio/stdio_uc.c **** 	}
 154:uc_libc_dev/stdio/stdio_uc.c **** 
 155:uc_libc_dev/stdio/stdio_uc.c **** //	#if defined(FREE_RTOS)
 156:uc_libc_dev/stdio/stdio_uc.c **** //	captura a fila de saida
 157:uc_libc_dev/stdio/stdio_uc.c **** //		if (xTaskGetSchedulerState() == taskSCHEDULER_RUNNING) { // Checa se o scheduler do kernel está
 158:uc_libc_dev/stdio/stdio_uc.c **** //			xQueueHandle queue = NULL;
 159:uc_libc_dev/stdio/stdio_uc.c **** //
 160:uc_libc_dev/stdio/stdio_uc.c **** //   			switch(output->device) {
 161:uc_libc_dev/stdio/stdio_uc.c **** //   				case STDIO_LPRINTF:		queue = stdio_queueTX; break;
 162:uc_libc_dev/stdio/stdio_uc.c **** //				case STDIO_DEBUG:		queue = debug_queueTX; break;
 163:uc_libc_dev/stdio/stdio_uc.c **** //				case STDIO_ERROR:		queue = err_queueTX; break;
 164:uc_libc_dev/stdio/stdio_uc.c **** //   				case STDIO_DEV_UART0: 	queue = uart0_queueTX; break;
 165:uc_libc_dev/stdio/stdio_uc.c **** //   				case STDIO_DEV_UART1: 	queue = uart1_queueTX; break;
 166:uc_libc_dev/stdio/stdio_uc.c **** //   				case STDIO_DEV_UART2: 	queue = uart2_queueTX; break;
 167:uc_libc_dev/stdio/stdio_uc.c **** //   				case STDIO_DEV_UART3: 	queue = uart3_queueTX; break;
 168:uc_libc_dev/stdio/stdio_uc.c **** //   				case STDIO_DEV_LCD: 	queue = lcd_queueTX;   break;
 169:uc_libc_dev/stdio/stdio_uc.c **** //  			}
 170:uc_libc_dev/stdio/stdio_uc.c **** //  			xQueueSend(queue, &c, portMAX_DELAY);
 171:uc_libc_dev/stdio/stdio_uc.c **** //
 172:uc_libc_dev/stdio/stdio_uc.c **** //  			return;
 173:uc_libc_dev/stdio/stdio_uc.c **** //		}
 174:uc_libc_dev/stdio/stdio_uc.c **** //	#endif
 175:uc_libc_dev/stdio/stdio_uc.c **** 
 176:uc_libc_dev/stdio/stdio_uc.c **** 	#if defined(LINUX)
 177:uc_libc_dev/stdio/stdio_uc.c **** 	stdio_putc(c);
 178:uc_libc_dev/stdio/stdio_uc.c **** 	#else
 179:uc_libc_dev/stdio/stdio_uc.c **** 	static int (*putcharfunc)(n16 c);
 180:uc_libc_dev/stdio/stdio_uc.c **** 	
 181:uc_libc_dev/stdio/stdio_uc.c **** 	switch(output->device) {
  55              		.loc 1 181 0
  56 0010 037B     		ldrb	r3, [r0, #12]	@ zero_extendqisi2
  57 0012 104C     		ldr	r4, .L17
  58 0014 013B     		subs	r3, r3, #1
  59 0016 062B     		cmp	r3, #6
  60 0018 14D8     		bhi	.L4
  61 001a DFE803F0 		tbb	[pc, r3]
  62              	.L6:
  63 001e 04       		.byte	(.L5-.L6)/2
  64 001f 06       		.byte	(.L7-.L6)/2
  65 0020 08       		.byte	(.L8-.L6)/2
  66 0021 0A       		.byte	(.L9-.L6)/2
  67 0022 0C       		.byte	(.L10-.L6)/2
  68 0023 0E       		.byte	(.L11-.L6)/2
  69 0024 10       		.byte	(.L12-.L6)/2
  70 0025 00       		.p2align 1
  71              	.L5:
 182:uc_libc_dev/stdio/stdio_uc.c **** 		case STDIO_LPRINTF:	putcharfunc = stdio_putc; break;
  72              		.loc 1 182 0
  73 0026 0C4B     		ldr	r3, .L17+4
  74 0028 0AE0     		b	.L15
  75              	.L7:
 183:uc_libc_dev/stdio/stdio_uc.c **** 		case STDIO_DEBUG:	putcharfunc = debug_putc; break;
  76              		.loc 1 183 0
  77 002a 0C4B     		ldr	r3, .L17+8
  78 002c 08E0     		b	.L15
  79              	.L8:
 184:uc_libc_dev/stdio/stdio_uc.c **** 		case STDIO_ERROR:	putcharfunc = err_putc; break;
  80              		.loc 1 184 0
  81 002e 0C4B     		ldr	r3, .L17+12
  82 0030 06E0     		b	.L15
  83              	.L9:
 185:uc_libc_dev/stdio/stdio_uc.c **** 		case STDIO_DEV1: 	putcharfunc = dev1_putc; break;
  84              		.loc 1 185 0
  85 0032 0C4B     		ldr	r3, .L17+16
  86 0034 04E0     		b	.L15
  87              	.L10:
 186:uc_libc_dev/stdio/stdio_uc.c ****    		case STDIO_DEV2: 	putcharfunc = dev2_putc; break;
  88              		.loc 1 186 0
  89 0036 0C4B     		ldr	r3, .L17+20
  90 0038 02E0     		b	.L15
  91              	.L11:
 187:uc_libc_dev/stdio/stdio_uc.c ****    		case STDIO_DEV3: 	putcharfunc = dev3_putc; break;
  92              		.loc 1 187 0
  93 003a 0C4B     		ldr	r3, .L17+24
  94 003c 00E0     		b	.L15
  95              	.L12:
 188:uc_libc_dev/stdio/stdio_uc.c ****    		case STDIO_DEV4: 	putcharfunc = dev4_putc; break;
  96              		.loc 1 188 0
  97 003e 0C4B     		ldr	r3, .L17+28
  98              	.L15:
  99 0040 1B68     		ldr	r3, [r3]
 100 0042 2360     		str	r3, [r4]
 101              	.L4:
 189:uc_libc_dev/stdio/stdio_uc.c ****   	}
 190:uc_libc_dev/stdio/stdio_uc.c **** 
 191:uc_libc_dev/stdio/stdio_uc.c **** 	// senão joga na porta de saida
 192:uc_libc_dev/stdio/stdio_uc.c **** 	// Espera até que consiga incluir o caractere no buffer de TX
 193:uc_libc_dev/stdio/stdio_uc.c **** 	while (putcharfunc(c) < 0) continue;
 102              		.loc 1 193 0
 103 0044 0DB2     		sxth	r5, r1
 104              	.LVL2:
 105              	.L13:
 106 0046 2368     		ldr	r3, [r4]
 107 0048 2846     		mov	r0, r5
 108 004a 9847     		blx	r3
 109              	.LVL3:
 110 004c 0028     		cmp	r0, #0
 111 004e FADB     		blt	.L13
 112 0050 38BD     		pop	{r3, r4, r5, pc}
 113              	.L18:
 114 0052 00BF     		.align	2
 115              	.L17:
 116 0054 00000000 		.word	.LANCHOR0
 117 0058 00000000 		.word	.LANCHOR1
 118 005c 00000000 		.word	.LANCHOR2
 119 0060 00000000 		.word	.LANCHOR3
 120 0064 00000000 		.word	.LANCHOR4
 121 0068 00000000 		.word	.LANCHOR5
 122 006c 00000000 		.word	.LANCHOR6
 123 0070 00000000 		.word	.LANCHOR7
 124              	.LBE5:
 125              	.LBE4:
 126              		.cfi_endproc
 127              	.LFE5:
 129              		.section	.text.print_fill,"ax",%progbits
 130              		.align	1
 131              		.thumb
 132              		.thumb_func
 134              	print_fill:
 135              	.LFB6:
 194:uc_libc_dev/stdio/stdio_uc.c **** 	#endif // #if defined(LINUX)
 195:uc_libc_dev/stdio/stdio_uc.c **** }
 196:uc_libc_dev/stdio/stdio_uc.c **** 
 197:uc_libc_dev/stdio/stdio_uc.c **** // ################################################################################################
 198:uc_libc_dev/stdio/stdio_uc.c **** // FUNÇÕES DE FORMATAÇÃO
 199:uc_libc_dev/stdio/stdio_uc.c **** // ################################################################################################
 200:uc_libc_dev/stdio/stdio_uc.c **** 
 201:uc_libc_dev/stdio/stdio_uc.c **** //completa a impressao com os caracteres desejados
 202:uc_libc_dev/stdio/stdio_uc.c **** //n=quantos caracteres ja serao impressos, o que faltar
 203:uc_libc_dev/stdio/stdio_uc.c **** //a rotina preenche
 204:uc_libc_dev/stdio/stdio_uc.c **** static void print_fill(pPrint output, int n) {
 136              		.loc 1 204 0
 137              		.cfi_startproc
 138              		@ args = 0, pretend = 0, frame = 0
 139              		@ frame_needed = 0, uses_anonymous_args = 0
 140              	.LVL4:
 141 0000 38B5     		push	{r3, r4, r5, lr}
 142              	.LCFI1:
 143              		.cfi_def_cfa_offset 16
 144              		.cfi_offset 3, -16
 145              		.cfi_offset 4, -12
 146              		.cfi_offset 5, -8
 147              		.cfi_offset 14, -4
 148              		.loc 1 204 0
 149 0002 0546     		mov	r5, r0
 150 0004 047A     		ldrb	r4, [r0, #8]	@ zero_extendqisi2
 151 0006 641A     		subs	r4, r4, r1
 152              	.LVL5:
 153              	.L20:
 205:uc_libc_dev/stdio/stdio_uc.c **** 	n = output->prefix - n;
 206:uc_libc_dev/stdio/stdio_uc.c **** 	while (n-->0) print_putchar(output, output->fill);
 154              		.loc 1 206 0 discriminator 1
 155 0008 002C     		cmp	r4, #0
 156 000a 05DD     		ble	.L22
 157              		.loc 1 206 0 is_stmt 0 discriminator 2
 158 000c 697A     		ldrb	r1, [r5, #9]	@ zero_extendqisi2
 159 000e 2846     		mov	r0, r5
 160 0010 FFF7FEFF 		bl	print_putchar
 161              	.LVL6:
 162 0014 013C     		subs	r4, r4, #1
 163              	.LVL7:
 164 0016 F7E7     		b	.L20
 165              	.LVL8:
 166              	.L22:
 207:uc_libc_dev/stdio/stdio_uc.c **** }
 167              		.loc 1 207 0 is_stmt 1
 168 0018 38BD     		pop	{r3, r4, r5, pc}
 169              		.cfi_endproc
 170              	.LFE6:
 172              		.section	.text.print_int,"ax",%progbits
 173              		.align	1
 174              		.thumb
 175              		.thumb_func
 177              	print_int:
 178              	.LFB8:
 208:uc_libc_dev/stdio/stdio_uc.c **** 
 209:uc_libc_dev/stdio/stdio_uc.c **** static void print_string(pPrint output, char * s) {
 210:uc_libc_dev/stdio/stdio_uc.c **** 	int d = 0;
 211:uc_libc_dev/stdio/stdio_uc.c **** 	if (s==NULL) return;
 212:uc_libc_dev/stdio/stdio_uc.c **** 	while (s[d])
 213:uc_libc_dev/stdio/stdio_uc.c **** 		print_putchar(output, s[d++]);
 214:uc_libc_dev/stdio/stdio_uc.c **** 	print_fill(output, d);
 215:uc_libc_dev/stdio/stdio_uc.c **** }
 216:uc_libc_dev/stdio/stdio_uc.c **** 
 217:uc_libc_dev/stdio/stdio_uc.c **** static void print_int(pPrint output, int x) {
 179              		.loc 1 217 0
 180              		.cfi_startproc
 181              		@ args = 0, pretend = 0, frame = 64
 182              		@ frame_needed = 0, uses_anonymous_args = 0
 183              	.LVL9:
 184 0000 70B5     		push	{r4, r5, r6, lr}
 185              	.LCFI2:
 186              		.cfi_def_cfa_offset 16
 187              		.cfi_offset 4, -16
 188              		.cfi_offset 5, -12
 189              		.cfi_offset 6, -8
 190              		.cfi_offset 14, -4
 191 0002 0546     		mov	r5, r0
 218:uc_libc_dev/stdio/stdio_uc.c **** 	int d,sig;
 219:uc_libc_dev/stdio/stdio_uc.c **** 	string digits;
 220:uc_libc_dev/stdio/stdio_uc.c **** 
 221:uc_libc_dev/stdio/stdio_uc.c **** 	if (x<0) { sig = 1; x = -x; } else sig = 0;
 192              		.loc 1 221 0
 193 0004 0029     		cmp	r1, #0
 194              	.LVL10:
 217:uc_libc_dev/stdio/stdio_uc.c **** 	int d,sig;
 195              		.loc 1 217 0
 196 0006 90B0     		sub	sp, sp, #64
 197              	.LCFI3:
 198              		.cfi_def_cfa_offset 80
 199              		.loc 1 221 0
 200 0008 BABF     		itte	lt
 201 000a 4942     		rsblt	r1, r1, #0
 202              	.LVL11:
 203 000c 0122     		movlt	r2, #1
 204 000e 0022     		movge	r2, #0
 205              	.LVL12:
 222:uc_libc_dev/stdio/stdio_uc.c **** 	d = 0;
 206              		.loc 1 222 0
 207 0010 0023     		movs	r3, #0
 223:uc_libc_dev/stdio/stdio_uc.c **** 	do	{
 224:uc_libc_dev/stdio/stdio_uc.c **** 		digits[d++] = '0' + x%10;
 208              		.loc 1 224 0
 209 0012 0A26     		movs	r6, #10
 210              	.LVL13:
 211              	.L25:
 212              		.loc 1 224 0 is_stmt 0 discriminator 1
 213 0014 91FBF6F0 		sdiv	r0, r1, r6
 214              	.LVL14:
 215 0018 06FB1011 		mls	r1, r6, r0, r1
 216 001c 3031     		adds	r1, r1, #48
 217 001e 0DF80310 		strb	r1, [sp, r3]
 218 0022 5C1C     		adds	r4, r3, #1
 219              	.LVL15:
 225:uc_libc_dev/stdio/stdio_uc.c **** 		x = x/10;
 226:uc_libc_dev/stdio/stdio_uc.c **** 	}while (x);
 220              		.loc 1 226 0 is_stmt 1 discriminator 1
 221 0024 0146     		mov	r1, r0
 222 0026 08B1     		cbz	r0, .L34
 224:uc_libc_dev/stdio/stdio_uc.c **** 		x = x/10;
 223              		.loc 1 224 0
 224 0028 2346     		mov	r3, r4
 225 002a F3E7     		b	.L25
 226              	.L34:
 227:uc_libc_dev/stdio/stdio_uc.c **** 	if (sig) digits[d++] = '-';
 227              		.loc 1 227 0
 228 002c 2AB1     		cbz	r2, .L26
 229              	.LVL16:
 230              		.loc 1 227 0 is_stmt 0 discriminator 1
 231 002e 10AA     		add	r2, sp, #64
 232              	.LVL17:
 233 0030 1444     		add	r4, r4, r2
 234 0032 2D22     		movs	r2, #45
 235 0034 04F8402C 		strb	r2, [r4, #-64]
 236 0038 9C1C     		adds	r4, r3, #2
 237              	.LVL18:
 238              	.L26:
 228:uc_libc_dev/stdio/stdio_uc.c **** 
 229:uc_libc_dev/stdio/stdio_uc.c **** 	print_fill(output, d);
 239              		.loc 1 229 0 is_stmt 1
 240 003a 2146     		mov	r1, r4
 241 003c 2846     		mov	r0, r5
 242              	.LVL19:
 243 003e FFF7FEFF 		bl	print_fill
 244              	.LVL20:
 245              	.L27:
 230:uc_libc_dev/stdio/stdio_uc.c **** 	while (d--) print_putchar(output, digits[d]);
 246              		.loc 1 230 0 discriminator 1
 247 0042 14F1FF34 		adds	r4, r4, #-1
 248              	.LVL21:
 249 0046 05D3     		bcc	.L35
 250              	.LVL22:
 251              		.loc 1 230 0 is_stmt 0 discriminator 2
 252 0048 1DF80410 		ldrb	r1, [sp, r4]	@ zero_extendqisi2
 253 004c 2846     		mov	r0, r5
 254 004e FFF7FEFF 		bl	print_putchar
 255              	.LVL23:
 256 0052 F6E7     		b	.L27
 257              	.LVL24:
 258              	.L35:
 231:uc_libc_dev/stdio/stdio_uc.c **** }
 259              		.loc 1 231 0 is_stmt 1
 260 0054 10B0     		add	sp, sp, #64
 261              	.LCFI4:
 262              		.cfi_def_cfa_offset 16
 263              		@ sp needed
 264 0056 70BD     		pop	{r4, r5, r6, pc}
 265              		.cfi_endproc
 266              	.LFE8:
 268              		.section	.text.print_long,"ax",%progbits
 269              		.align	1
 270              		.thumb
 271              		.thumb_func
 273              	print_long:
 274              	.LFB9:
 232:uc_libc_dev/stdio/stdio_uc.c **** 
 233:uc_libc_dev/stdio/stdio_uc.c **** static void print_long(pPrint output, long x) {
 275              		.loc 1 233 0
 276              		.cfi_startproc
 277              		@ args = 0, pretend = 0, frame = 64
 278              		@ frame_needed = 0, uses_anonymous_args = 0
 279              	.LVL25:
 280 0000 70B5     		push	{r4, r5, r6, lr}
 281              	.LCFI5:
 282              		.cfi_def_cfa_offset 16
 283              		.cfi_offset 4, -16
 284              		.cfi_offset 5, -12
 285              		.cfi_offset 6, -8
 286              		.cfi_offset 14, -4
 234:uc_libc_dev/stdio/stdio_uc.c **** 	int d; //digitos
 235:uc_libc_dev/stdio/stdio_uc.c **** 	string digits;
 236:uc_libc_dev/stdio/stdio_uc.c **** 
 237:uc_libc_dev/stdio/stdio_uc.c **** 	if (x<0) { print_putchar(output,'-'); x = -x; }
 287              		.loc 1 237 0
 288 0002 0C1E     		subs	r4, r1, #0
 233:uc_libc_dev/stdio/stdio_uc.c **** 	int d; //digitos
 289              		.loc 1 233 0
 290 0004 90B0     		sub	sp, sp, #64
 291              	.LCFI6:
 292              		.cfi_def_cfa_offset 80
 233:uc_libc_dev/stdio/stdio_uc.c **** 	int d; //digitos
 293              		.loc 1 233 0
 294 0006 0646     		mov	r6, r0
 295              		.loc 1 237 0
 296 0008 03DA     		bge	.L37
 297              		.loc 1 237 0 is_stmt 0 discriminator 1
 298 000a 2D21     		movs	r1, #45
 299              	.LVL26:
 300 000c FFF7FEFF 		bl	print_putchar
 301              	.LVL27:
 302 0010 6442     		negs	r4, r4
 303              	.LVL28:
 304              	.L37:
 233:uc_libc_dev/stdio/stdio_uc.c **** 	int d; //digitos
 305              		.loc 1 233 0 is_stmt 1 discriminator 1
 306 0012 0025     		movs	r5, #0
 238:uc_libc_dev/stdio/stdio_uc.c **** 	d = 0;
 239:uc_libc_dev/stdio/stdio_uc.c **** 	do	{
 240:uc_libc_dev/stdio/stdio_uc.c **** 		digits[d++] = '0' + x%10;
 307              		.loc 1 240 0 discriminator 1
 308 0014 0A22     		movs	r2, #10
 309              	.L38:
 310              	.LVL29:
 311 0016 94FBF2F3 		sdiv	r3, r4, r2
 312 001a 02FB1344 		mls	r4, r2, r3, r4
 313              	.LVL30:
 314 001e 0135     		adds	r5, r5, #1
 315              	.LVL31:
 316 0020 3034     		adds	r4, r4, #48
 317 0022 0DEB0501 		add	r1, sp, r5
 318 0026 01F8014C 		strb	r4, [r1, #-1]
 241:uc_libc_dev/stdio/stdio_uc.c **** 		x = x/10;
 242:uc_libc_dev/stdio/stdio_uc.c **** 	}while (x);
 319              		.loc 1 242 0 discriminator 1
 320 002a 1C46     		mov	r4, r3
 321 002c 002B     		cmp	r3, #0
 322 002e F2D1     		bne	.L38
 243:uc_libc_dev/stdio/stdio_uc.c **** 
 244:uc_libc_dev/stdio/stdio_uc.c **** 	print_fill(output, d);
 323              		.loc 1 244 0
 324 0030 2946     		mov	r1, r5
 325 0032 3046     		mov	r0, r6
 326 0034 FFF7FEFF 		bl	print_fill
 327              	.LVL32:
 328              	.L39:
 245:uc_libc_dev/stdio/stdio_uc.c **** 	while (d--) print_putchar(output, digits[d]);
 329              		.loc 1 245 0 discriminator 1
 330 0038 15F1FF35 		adds	r5, r5, #-1
 331              	.LVL33:
 332 003c 05D3     		bcc	.L42
 333              	.LVL34:
 334              		.loc 1 245 0 is_stmt 0 discriminator 2
 335 003e 1DF80510 		ldrb	r1, [sp, r5]	@ zero_extendqisi2
 336 0042 3046     		mov	r0, r6
 337 0044 FFF7FEFF 		bl	print_putchar
 338              	.LVL35:
 339 0048 F6E7     		b	.L39
 340              	.LVL36:
 341              	.L42:
 246:uc_libc_dev/stdio/stdio_uc.c **** }
 342              		.loc 1 246 0 is_stmt 1
 343 004a 10B0     		add	sp, sp, #64
 344              	.LCFI7:
 345              		.cfi_def_cfa_offset 16
 346              		@ sp needed
 347 004c 70BD     		pop	{r4, r5, r6, pc}
 348              		.cfi_endproc
 349              	.LFE9:
 351              		.global	__aeabi_dcmplt
 352              		.global	__aeabi_d2iz
 353              		.global	__aeabi_i2d
 354              		.global	__aeabi_dsub
 355              		.global	__aeabi_dmul
 356              		.global	__aeabi_dcmpgt
 357              		.section	.text.print_float,"ax",%progbits
 358              		.align	1
 359              		.thumb
 360              		.thumb_func
 362              	print_float:
 363              	.LFB15:
 247:uc_libc_dev/stdio/stdio_uc.c **** 
 248:uc_libc_dev/stdio/stdio_uc.c **** static void print_uint(pPrint output, unsigned int x) {
 249:uc_libc_dev/stdio/stdio_uc.c **** 	unsigned int d; //digitos
 250:uc_libc_dev/stdio/stdio_uc.c **** 	string digits;
 251:uc_libc_dev/stdio/stdio_uc.c **** 
 252:uc_libc_dev/stdio/stdio_uc.c **** 	d = 0;
 253:uc_libc_dev/stdio/stdio_uc.c **** 	do	{
 254:uc_libc_dev/stdio/stdio_uc.c **** 		digits[d++] = '0' + x%10;
 255:uc_libc_dev/stdio/stdio_uc.c **** 		x = x/10;
 256:uc_libc_dev/stdio/stdio_uc.c **** 	}while (x);
 257:uc_libc_dev/stdio/stdio_uc.c **** 
 258:uc_libc_dev/stdio/stdio_uc.c **** 	print_fill(output, d);
 259:uc_libc_dev/stdio/stdio_uc.c **** 	while (d--) print_putchar(output, digits[d]);
 260:uc_libc_dev/stdio/stdio_uc.c **** }
 261:uc_libc_dev/stdio/stdio_uc.c **** 
 262:uc_libc_dev/stdio/stdio_uc.c **** #if ( STDIO_USE_SUBINT == pdON )
 263:uc_libc_dev/stdio/stdio_uc.c **** static void print_intF(pPrint output, long x) {
 264:uc_libc_dev/stdio/stdio_uc.c **** 	int b = 0;
 265:uc_libc_dev/stdio/stdio_uc.c **** 	while (x>10240) { x = x/1024; b++; }
 266:uc_libc_dev/stdio/stdio_uc.c **** 	print_int(output, x);
 267:uc_libc_dev/stdio/stdio_uc.c **** 	if (b==1) print_putchar(output, 'k');
 268:uc_libc_dev/stdio/stdio_uc.c **** 	if (b==2) print_putchar(output, 'M');
 269:uc_libc_dev/stdio/stdio_uc.c **** 	if (b==3) print_putchar(output, 'G');
 270:uc_libc_dev/stdio/stdio_uc.c **** }
 271:uc_libc_dev/stdio/stdio_uc.c **** #endif
 272:uc_libc_dev/stdio/stdio_uc.c **** 
 273:uc_libc_dev/stdio/stdio_uc.c **** #if ( STDIO_USE_HEX == pdON )
 274:uc_libc_dev/stdio/stdio_uc.c **** static void print_hex(pPrint output, unsigned int x) {
 275:uc_libc_dev/stdio/stdio_uc.c **** 	const char HexTable[16] = {
 276:uc_libc_dev/stdio/stdio_uc.c **** 		'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'
 277:uc_libc_dev/stdio/stdio_uc.c **** 	};
 278:uc_libc_dev/stdio/stdio_uc.c **** 	char digits[16];
 279:uc_libc_dev/stdio/stdio_uc.c **** 
 280:uc_libc_dev/stdio/stdio_uc.c **** 	int d = 0;
 281:uc_libc_dev/stdio/stdio_uc.c **** 	do	{
 282:uc_libc_dev/stdio/stdio_uc.c **** 		digits[d++] = HexTable[x&0xF];
 283:uc_libc_dev/stdio/stdio_uc.c **** 		x = x>>4;
 284:uc_libc_dev/stdio/stdio_uc.c **** 	}while (x);
 285:uc_libc_dev/stdio/stdio_uc.c **** 
 286:uc_libc_dev/stdio/stdio_uc.c **** 	//print_putchar(output, '0');
 287:uc_libc_dev/stdio/stdio_uc.c **** 	//print_putchar(output, 'x');
 288:uc_libc_dev/stdio/stdio_uc.c **** 	print_fill(output, d);
 289:uc_libc_dev/stdio/stdio_uc.c **** 	while (d--) print_putchar(output, digits[d]);
 290:uc_libc_dev/stdio/stdio_uc.c **** }
 291:uc_libc_dev/stdio/stdio_uc.c **** #endif
 292:uc_libc_dev/stdio/stdio_uc.c **** 
 293:uc_libc_dev/stdio/stdio_uc.c **** #if ( STDIO_USE_BIN == pdON )
 294:uc_libc_dev/stdio/stdio_uc.c **** static void print_bin(pPrint output, long x) {
 295:uc_libc_dev/stdio/stdio_uc.c **** 	string digits;
 296:uc_libc_dev/stdio/stdio_uc.c **** 	int d = 0;
 297:uc_libc_dev/stdio/stdio_uc.c **** 	output->fill = '0';
 298:uc_libc_dev/stdio/stdio_uc.c **** 	do {
 299:uc_libc_dev/stdio/stdio_uc.c **** 		digits[d++] = '0'+(x&1);
 300:uc_libc_dev/stdio/stdio_uc.c **** 		x = x>>1;
 301:uc_libc_dev/stdio/stdio_uc.c **** 	}while (x);
 302:uc_libc_dev/stdio/stdio_uc.c **** 	//print_putchar(output, '0');
 303:uc_libc_dev/stdio/stdio_uc.c **** 	//print_putchar(output, 'b');
 304:uc_libc_dev/stdio/stdio_uc.c **** 	print_fill(output, d);
 305:uc_libc_dev/stdio/stdio_uc.c **** 	while (d--) print_putchar(output, digits[d]);
 306:uc_libc_dev/stdio/stdio_uc.c **** }
 307:uc_libc_dev/stdio/stdio_uc.c **** #endif
 308:uc_libc_dev/stdio/stdio_uc.c **** 
 309:uc_libc_dev/stdio/stdio_uc.c **** #if ( STDIO_USE_TIME == pdON )
 310:uc_libc_dev/stdio/stdio_uc.c **** //tempo em segundos
 311:uc_libc_dev/stdio/stdio_uc.c **** static void print_time(pPrint output, long x) {
 312:uc_libc_dev/stdio/stdio_uc.c **** 	int h,m,s;
 313:uc_libc_dev/stdio/stdio_uc.c **** 
 314:uc_libc_dev/stdio/stdio_uc.c **** 	s = x%60;	x = x/60;
 315:uc_libc_dev/stdio/stdio_uc.c **** 	m = x%60;	x = x/60;
 316:uc_libc_dev/stdio/stdio_uc.c **** 	h = x;
 317:uc_libc_dev/stdio/stdio_uc.c **** 
 318:uc_libc_dev/stdio/stdio_uc.c **** 	//formato = "00:00'00"
 319:uc_libc_dev/stdio/stdio_uc.c **** 	output->prefix = 2;
 320:uc_libc_dev/stdio/stdio_uc.c **** 	output->fill = '0';
 321:uc_libc_dev/stdio/stdio_uc.c **** 	print_int(output, h);	print_putchar(output, ':');
 322:uc_libc_dev/stdio/stdio_uc.c **** 	print_int(output, m);	print_putchar(output, 39);
 323:uc_libc_dev/stdio/stdio_uc.c **** 	print_int(output, s);
 324:uc_libc_dev/stdio/stdio_uc.c **** }
 325:uc_libc_dev/stdio/stdio_uc.c **** #endif
 326:uc_libc_dev/stdio/stdio_uc.c **** 
 327:uc_libc_dev/stdio/stdio_uc.c **** #if ( STDIO_USE_FLOAT == pdON )
 328:uc_libc_dev/stdio/stdio_uc.c **** static void print_float(pPrint output, double x) {
 364              		.loc 1 328 0
 365              		.cfi_startproc
 366              		@ args = 0, pretend = 0, frame = 0
 367              		@ frame_needed = 0, uses_anonymous_args = 0
 368              	.LVL37:
 369 0000 F8B5     		push	{r3, r4, r5, r6, r7, lr}
 370              	.LCFI8:
 371              		.cfi_def_cfa_offset 24
 372              		.cfi_offset 3, -24
 373              		.cfi_offset 4, -20
 374              		.cfi_offset 5, -16
 375              		.cfi_offset 6, -12
 376              		.cfi_offset 7, -8
 377              		.cfi_offset 14, -4
 378              		.loc 1 328 0
 379 0002 1646     		mov	r6, r2
 380 0004 1D46     		mov	r5, r3
 381 0006 0446     		mov	r4, r0
 329:uc_libc_dev/stdio/stdio_uc.c **** 	if (x<0) { print_putchar(output, '-'); x = -x; }
 382              		.loc 1 329 0
 383 0008 0022     		movs	r2, #0
 384              	.LVL38:
 385 000a 0023     		movs	r3, #0
 386 000c 3046     		mov	r0, r6
 387              	.LVL39:
 388 000e 2946     		mov	r1, r5
 389 0010 FFF7FEFF 		bl	__aeabi_dcmplt
 390              	.LVL40:
 391 0014 28B1     		cbz	r0, .L44
 392              		.loc 1 329 0 is_stmt 0 discriminator 1
 393 0016 2D21     		movs	r1, #45
 394 0018 2046     		mov	r0, r4
 395 001a FFF7FEFF 		bl	print_putchar
 396              	.LVL41:
 397 001e 05F10045 		add	r5, r5, #-2147483648
 398              	.LVL42:
 399              	.L44:
 330:uc_libc_dev/stdio/stdio_uc.c **** 	//parte inteira
 331:uc_libc_dev/stdio/stdio_uc.c **** 	print_long(output, (long)x);
 400              		.loc 1 331 0 is_stmt 1
 401 0022 2946     		mov	r1, r5
 402 0024 3046     		mov	r0, r6
 403 0026 FFF7FEFF 		bl	__aeabi_d2iz
 404              	.LVL43:
 405 002a 0146     		mov	r1, r0
 406 002c 0746     		mov	r7, r0
 407 002e 2046     		mov	r0, r4
 408 0030 FFF7FEFF 		bl	print_long
 409              	.LVL44:
 332:uc_libc_dev/stdio/stdio_uc.c **** 	if (output->precision<=0) return;
 410              		.loc 1 332 0
 411 0034 A37A     		ldrb	r3, [r4, #10]	@ zero_extendqisi2
 412 0036 BBB3     		cbz	r3, .L43
 333:uc_libc_dev/stdio/stdio_uc.c **** 	//parte fracionaria
 334:uc_libc_dev/stdio/stdio_uc.c **** 	print_putchar(output, '.');
 413              		.loc 1 334 0
 414 0038 2E21     		movs	r1, #46
 415 003a 2046     		mov	r0, r4
 416 003c FFF7FEFF 		bl	print_putchar
 417              	.LVL45:
 335:uc_libc_dev/stdio/stdio_uc.c **** 	output->prefix = 0;
 418              		.loc 1 335 0
 419 0040 0023     		movs	r3, #0
 420 0042 2372     		strb	r3, [r4, #8]
 336:uc_libc_dev/stdio/stdio_uc.c **** 	x = x - (int)(x);
 421              		.loc 1 336 0
 422 0044 3846     		mov	r0, r7
 423 0046 FFF7FEFF 		bl	__aeabi_i2d
 424              	.LVL46:
 425 004a 0246     		mov	r2, r0
 426 004c 0B46     		mov	r3, r1
 427 004e 3046     		mov	r0, r6
 428 0050 2946     		mov	r1, r5
 429 0052 FFF7FEFF 		bl	__aeabi_dsub
 430              	.LVL47:
 431 0056 0646     		mov	r6, r0
 432              	.LVL48:
 433 0058 0F46     		mov	r7, r1
 434              	.LVL49:
 435              	.L48:
 337:uc_libc_dev/stdio/stdio_uc.c **** 	while (output->precision-->0) {
 436              		.loc 1 337 0
 437 005a A37A     		ldrb	r3, [r4, #10]	@ zero_extendqisi2
 438 005c 5A1E     		subs	r2, r3, #1
 439 005e A272     		strb	r2, [r4, #10]
 338:uc_libc_dev/stdio/stdio_uc.c **** 		x = x*10.0;
 440              		.loc 1 338 0
 441 0060 0022     		movs	r2, #0
 337:uc_libc_dev/stdio/stdio_uc.c **** 	while (output->precision-->0) {
 442              		.loc 1 337 0
 443 0062 8BB1     		cbz	r3, .L57
 444              		.loc 1 338 0
 445 0064 114B     		ldr	r3, .L58
 446 0066 3046     		mov	r0, r6
 447 0068 3946     		mov	r1, r7
 448 006a FFF7FEFF 		bl	__aeabi_dmul
 449              	.LVL50:
 339:uc_libc_dev/stdio/stdio_uc.c **** 		if (x<1.0) print_putchar(output, '0');
 450              		.loc 1 339 0
 451 006e 0022     		movs	r2, #0
 452 0070 0F4B     		ldr	r3, .L58+4
 338:uc_libc_dev/stdio/stdio_uc.c **** 		x = x*10.0;
 453              		.loc 1 338 0
 454 0072 0646     		mov	r6, r0
 455              	.LVL51:
 456 0074 0F46     		mov	r7, r1
 457              	.LVL52:
 458              		.loc 1 339 0
 459 0076 FFF7FEFF 		bl	__aeabi_dcmplt
 460              	.LVL53:
 461 007a 0028     		cmp	r0, #0
 462 007c EDD0     		beq	.L48
 463              		.loc 1 339 0 is_stmt 0 discriminator 1
 464 007e 3021     		movs	r1, #48
 465 0080 2046     		mov	r0, r4
 466 0082 FFF7FEFF 		bl	print_putchar
 467              	.LVL54:
 468 0086 E8E7     		b	.L48
 469              	.L57:
 340:uc_libc_dev/stdio/stdio_uc.c **** 	}
 341:uc_libc_dev/stdio/stdio_uc.c **** 	if (x>1) print_long(output, (long)x);
 470              		.loc 1 341 0 is_stmt 1
 471 0088 094B     		ldr	r3, .L58+4
 472 008a 3046     		mov	r0, r6
 473 008c 3946     		mov	r1, r7
 474 008e FFF7FEFF 		bl	__aeabi_dcmpgt
 475              	.LVL55:
 476 0092 48B1     		cbz	r0, .L43
 477              		.loc 1 341 0 is_stmt 0 discriminator 1
 478 0094 3946     		mov	r1, r7
 479 0096 3046     		mov	r0, r6
 480 0098 FFF7FEFF 		bl	__aeabi_d2iz
 481              	.LVL56:
 482 009c 0146     		mov	r1, r0
 483 009e 2046     		mov	r0, r4
 342:uc_libc_dev/stdio/stdio_uc.c **** }
 484              		.loc 1 342 0 is_stmt 1 discriminator 1
 485 00a0 BDE8F840 		pop	{r3, r4, r5, r6, r7, lr}
 486              	.LCFI9:
 487              		.cfi_remember_state
 488              		.cfi_restore 14
 489              		.cfi_restore 7
 490              		.cfi_restore 6
 491              		.cfi_restore 5
 492              		.cfi_restore 4
 493              		.cfi_restore 3
 494              		.cfi_def_cfa_offset 0
 495              	.LVL57:
 341:uc_libc_dev/stdio/stdio_uc.c **** }
 496              		.loc 1 341 0 discriminator 1
 497 00a4 FFF7FEBF 		b	print_long
 498              	.LVL58:
 499              	.L43:
 500              	.LCFI10:
 501              		.cfi_restore_state
 502 00a8 F8BD     		pop	{r3, r4, r5, r6, r7, pc}
 503              	.LVL59:
 504              	.L59:
 505 00aa 00BF     		.align	2
 506              	.L58:
 507 00ac 00002440 		.word	1076101120
 508 00b0 0000F03F 		.word	1072693248
 509              		.cfi_endproc
 510              	.LFE15:
 512              		.section	.text.rprintf_RegisterDev,"ax",%progbits
 513              		.align	1
 514              		.global	rprintf_RegisterDev
 515              		.thumb
 516              		.thumb_func
 518              	rprintf_RegisterDev:
 519              	.LFB0:
 111:uc_libc_dev/stdio/stdio_uc.c ****    	// regitrar a função de saida do dispositivo
 520              		.loc 1 111 0
 521              		.cfi_startproc
 522              		@ args = 0, pretend = 0, frame = 0
 523              		@ frame_needed = 0, uses_anonymous_args = 0
 524              		@ link register save eliminated.
 525              	.LVL60:
 113:uc_libc_dev/stdio/stdio_uc.c **** 	case STDIO_DEV1: 	dev1_putc = putc; break;
 526              		.loc 1 113 0
 527 0000 0438     		subs	r0, r0, #4
 528              	.LVL61:
 529 0002 0328     		cmp	r0, #3
 530 0004 0BD8     		bhi	.L60
 531 0006 DFE800F0 		tbb	[pc, r0]
 532              	.L63:
 533 000a 02       		.byte	(.L62-.L63)/2
 534 000b 04       		.byte	(.L64-.L63)/2
 535 000c 06       		.byte	(.L65-.L63)/2
 536 000d 08       		.byte	(.L66-.L63)/2
 537              		.p2align 1
 538              	.L62:
 114:uc_libc_dev/stdio/stdio_uc.c ****    	case STDIO_DEV2: 	dev2_putc = putc; break;
 539              		.loc 1 114 0
 540 000e 044B     		ldr	r3, .L68
 541 0010 04E0     		b	.L67
 542              	.L64:
 115:uc_libc_dev/stdio/stdio_uc.c ****    	case STDIO_DEV3: 	dev3_putc = putc; break;
 543              		.loc 1 115 0
 544 0012 044B     		ldr	r3, .L68+4
 545 0014 02E0     		b	.L67
 546              	.L65:
 116:uc_libc_dev/stdio/stdio_uc.c ****    	case STDIO_DEV4: 	dev4_putc = putc; break;
 547              		.loc 1 116 0
 548 0016 044B     		ldr	r3, .L68+8
 549 0018 00E0     		b	.L67
 550              	.L66:
 117:uc_libc_dev/stdio/stdio_uc.c ****   	}
 551              		.loc 1 117 0
 552 001a 044B     		ldr	r3, .L68+12
 553              	.L67:
 554 001c 1960     		str	r1, [r3]
 555              	.L60:
 556 001e 7047     		bx	lr
 557              	.L69:
 558              		.align	2
 559              	.L68:
 560 0020 00000000 		.word	.LANCHOR4
 561 0024 00000000 		.word	.LANCHOR5
 562 0028 00000000 		.word	.LANCHOR6
 563 002c 00000000 		.word	.LANCHOR7
 564              		.cfi_endproc
 565              	.LFE0:
 567              		.section	.text.lputchar_RegisterDev,"ax",%progbits
 568              		.align	1
 569              		.global	lputchar_RegisterDev
 570              		.thumb
 571              		.thumb_func
 573              	lputchar_RegisterDev:
 574              	.LFB1:
 123:uc_libc_dev/stdio/stdio_uc.c **** 	stdio_putc = func_putc;
 575              		.loc 1 123 0
 576              		.cfi_startproc
 577              		@ args = 0, pretend = 0, frame = 0
 578              		@ frame_needed = 0, uses_anonymous_args = 0
 579              		@ link register save eliminated.
 580              	.LVL62:
 124:uc_libc_dev/stdio/stdio_uc.c **** }
 581              		.loc 1 124 0
 582 0000 014B     		ldr	r3, .L71
 583 0002 1860     		str	r0, [r3]
 584 0004 7047     		bx	lr
 585              	.L72:
 586 0006 00BF     		.align	2
 587              	.L71:
 588 0008 00000000 		.word	.LANCHOR1
 589              		.cfi_endproc
 590              	.LFE1:
 592              		.section	.text.ldebug_RegisterDev,"ax",%progbits
 593              		.align	1
 594              		.global	ldebug_RegisterDev
 595              		.thumb
 596              		.thumb_func
 598              	ldebug_RegisterDev:
 599              	.LFB2:
 128:uc_libc_dev/stdio/stdio_uc.c **** 	debug_putc = putc;
 600              		.loc 1 128 0
 601              		.cfi_startproc
 602              		@ args = 0, pretend = 0, frame = 0
 603              		@ frame_needed = 0, uses_anonymous_args = 0
 604              		@ link register save eliminated.
 605              	.LVL63:
 129:uc_libc_dev/stdio/stdio_uc.c **** }
 606              		.loc 1 129 0
 607 0000 014B     		ldr	r3, .L74
 608 0002 1860     		str	r0, [r3]
 609 0004 7047     		bx	lr
 610              	.L75:
 611 0006 00BF     		.align	2
 612              	.L74:
 613 0008 00000000 		.word	.LANCHOR2
 614              		.cfi_endproc
 615              	.LFE2:
 617              		.section	.text.lerr_RegisterDev,"ax",%progbits
 618              		.align	1
 619              		.global	lerr_RegisterDev
 620              		.thumb
 621              		.thumb_func
 623              	lerr_RegisterDev:
 624              	.LFB3:
 133:uc_libc_dev/stdio/stdio_uc.c **** 	err_putc = putc;
 625              		.loc 1 133 0
 626              		.cfi_startproc
 627              		@ args = 0, pretend = 0, frame = 0
 628              		@ frame_needed = 0, uses_anonymous_args = 0
 629              		@ link register save eliminated.
 630              	.LVL64:
 134:uc_libc_dev/stdio/stdio_uc.c **** }
 631              		.loc 1 134 0
 632 0000 014B     		ldr	r3, .L77
 633 0002 1860     		str	r0, [r3]
 634 0004 7047     		bx	lr
 635              	.L78:
 636 0006 00BF     		.align	2
 637              	.L77:
 638 0008 00000000 		.word	.LANCHOR3
 639              		.cfi_endproc
 640              	.LFE3:
 642              		.section	.text.lgetchar_RegisterDev,"ax",%progbits
 643              		.align	1
 644              		.global	lgetchar_RegisterDev
 645              		.thumb
 646              		.thumb_func
 648              	lgetchar_RegisterDev:
 649              	.LFB4:
 140:uc_libc_dev/stdio/stdio_uc.c **** 	stdio_getc = func_getc;
 650              		.loc 1 140 0
 651              		.cfi_startproc
 652              		@ args = 0, pretend = 0, frame = 0
 653              		@ frame_needed = 0, uses_anonymous_args = 0
 654              		@ link register save eliminated.
 655              	.LVL65:
 141:uc_libc_dev/stdio/stdio_uc.c **** }
 656              		.loc 1 141 0
 657 0000 014B     		ldr	r3, .L80
 658 0002 1860     		str	r0, [r3]
 659 0004 7047     		bx	lr
 660              	.L81:
 661 0006 00BF     		.align	2
 662              	.L80:
 663 0008 00000000 		.word	.LANCHOR8
 664              		.cfi_endproc
 665              	.LFE4:
 667              		.global	__aeabi_dcmpeq
 668              		.global	__aeabi_ddiv
 669              		.section	.text.doprint,"ax",%progbits
 670              		.align	1
 671              		.global	doprint
 672              		.thumb
 673              		.thumb_func
 675              	doprint:
 676              	.LFB17:
 343:uc_libc_dev/stdio/stdio_uc.c **** 
 344:uc_libc_dev/stdio/stdio_uc.c **** static void print_exp(pPrint output, double x) {
 345:uc_libc_dev/stdio/stdio_uc.c **** 	int exp = 0;
 346:uc_libc_dev/stdio/stdio_uc.c **** 	if (x<0) { print_putchar(output, '-'); x = -x; }
 347:uc_libc_dev/stdio/stdio_uc.c **** 	if (x!=0) {
 348:uc_libc_dev/stdio/stdio_uc.c **** 		while (x<1) { x = x*10; exp--; }
 349:uc_libc_dev/stdio/stdio_uc.c **** 		while (x>10){ x = x/10; exp++; }
 350:uc_libc_dev/stdio/stdio_uc.c **** 	}
 351:uc_libc_dev/stdio/stdio_uc.c **** 	print_float(output, x);
 352:uc_libc_dev/stdio/stdio_uc.c **** 	print_putchar(output, 'E');
 353:uc_libc_dev/stdio/stdio_uc.c **** 	print_int(output, exp);
 354:uc_libc_dev/stdio/stdio_uc.c **** }
 355:uc_libc_dev/stdio/stdio_uc.c **** #endif
 356:uc_libc_dev/stdio/stdio_uc.c **** 
 357:uc_libc_dev/stdio/stdio_uc.c **** void doprint(pPrint output, cpchar fmt, va_list args) {
 677              		.loc 1 357 0
 678              		.cfi_startproc
 679              		@ args = 0, pretend = 0, frame = 80
 680              		@ frame_needed = 0, uses_anonymous_args = 0
 681              	.LVL66:
 682 0000 2DE9F043 		push	{r4, r5, r6, r7, r8, r9, lr}
 683              	.LCFI11:
 684              		.cfi_def_cfa_offset 28
 685              		.cfi_offset 4, -28
 686              		.cfi_offset 5, -24
 687              		.cfi_offset 6, -20
 688              		.cfi_offset 7, -16
 689              		.cfi_offset 8, -12
 690              		.cfi_offset 9, -8
 691              		.cfi_offset 14, -4
 692 0004 0446     		mov	r4, r0
 693 0006 1546     		mov	r5, r2
 694              	.LVL67:
 695 0008 8846     		mov	r8, r1
 358:uc_libc_dev/stdio/stdio_uc.c **** 	char c, doformat = 0;
 359:uc_libc_dev/stdio/stdio_uc.c **** 
 360:uc_libc_dev/stdio/stdio_uc.c **** 	output->count = 0;
 696              		.loc 1 360 0
 697 000a 0021     		movs	r1, #0
 698              	.LVL68:
 357:uc_libc_dev/stdio/stdio_uc.c **** 	char c, doformat = 0;
 699              		.loc 1 357 0
 700 000c 95B0     		sub	sp, sp, #84
 701              	.LCFI12:
 702              		.cfi_def_cfa_offset 112
 703              		.loc 1 360 0
 704 000e 4160     		str	r1, [r0, #4]
 705              	.LVL69:
 706              	.L83:
 361:uc_libc_dev/stdio/stdio_uc.c **** 
 362:uc_libc_dev/stdio/stdio_uc.c **** 	//repete o processo ate encontrar o terminador nulo
 363:uc_libc_dev/stdio/stdio_uc.c **** 	do {
 364:uc_libc_dev/stdio/stdio_uc.c **** 		c = *fmt++;
 707              		.loc 1 364 0
 708 0010 08F10107 		add	r7, r8, #1
 709              	.LVL70:
 710 0014 98F80060 		ldrb	r6, [r8]	@ zero_extendqisi2
 711              	.LVL71:
 365:uc_libc_dev/stdio/stdio_uc.c **** 
 366:uc_libc_dev/stdio/stdio_uc.c **** 		if (doformat) {
 712              		.loc 1 366 0
 713 0018 0029     		cmp	r1, #0
 714 001a 00F08B81 		beq	.L84
 715              	.LVL72:
 367:uc_libc_dev/stdio/stdio_uc.c **** 			doformat = 0;
 368:uc_libc_dev/stdio/stdio_uc.c **** 
 369:uc_libc_dev/stdio/stdio_uc.c **** 			if ( ((c=='l')||(c=='L')) &&(*fmt=='d')) {
 716              		.loc 1 369 0 discriminator 2
 717 001e 06F0DF03 		and	r3, r6, #223
 718 0022 4C2B     		cmp	r3, #76
 719 0024 0BD1     		bne	.L85
 720              		.loc 1 369 0 is_stmt 0 discriminator 3
 721 0026 98F80130 		ldrb	r3, [r8, #1]	@ zero_extendqisi2
 722 002a 642B     		cmp	r3, #100
 723 002c 07D1     		bne	.L85
 370:uc_libc_dev/stdio/stdio_uc.c **** 				print_long(output, va_arg(args,long));
 724              		.loc 1 370 0 is_stmt 1
 725 002e 2968     		ldr	r1, [r5]
 726 0030 2046     		mov	r0, r4
 727 0032 2E1D     		adds	r6, r5, #4
 728              	.LVL73:
 729 0034 FFF7FEFF 		bl	print_long
 730              	.LVL74:
 371:uc_libc_dev/stdio/stdio_uc.c **** 				fmt++;
 731              		.loc 1 371 0
 732 0038 08F10207 		add	r7, r8, #2
 733              	.LVL75:
 734 003c BDE0     		b	.L177
 735              	.LVL76:
 736              	.L85:
 372:uc_libc_dev/stdio/stdio_uc.c **** 				continue;
 373:uc_libc_dev/stdio/stdio_uc.c **** 			}
 374:uc_libc_dev/stdio/stdio_uc.c **** 
 375:uc_libc_dev/stdio/stdio_uc.c **** 			switch (c) {
 737              		.loc 1 375 0
 738 003e 632E     		cmp	r6, #99
 739 0040 3CD0     		beq	.L88
 740 0042 19D8     		bhi	.L89
 741 0044 532E     		cmp	r6, #83
 742 0046 00F08C80 		beq	.L90
 743 004a 0CD8     		bhi	.L91
 744 004c 432E     		cmp	r6, #67
 745 004e 35D0     		beq	.L88
 746 0050 442E     		cmp	r6, #68
 747 0052 36D0     		beq	.L92
 748 0054 252E     		cmp	r6, #37
 749 0056 40F04F81 		bne	.L87
 376:uc_libc_dev/stdio/stdio_uc.c **** 			case '%' : print_putchar(output, '%'); break;
 750              		.loc 1 376 0
 751 005a 3146     		mov	r1, r6
 752 005c 2046     		mov	r0, r4
 753 005e FFF7FEFF 		bl	print_putchar
 754              	.LVL77:
 755 0062 2E46     		mov	r6, r5
 756              	.LVL78:
 757 0064 7BE1     		b	.L137
 758              	.LVL79:
 759              	.L91:
 375:uc_libc_dev/stdio/stdio_uc.c **** 			case '%' : print_putchar(output, '%'); break;
 760              		.loc 1 375 0
 761 0066 582E     		cmp	r6, #88
 762 0068 4FD0     		beq	.L94
 763 006a 622E     		cmp	r6, #98
 764 006c 00F0D480 		beq	.L95
 765 0070 552E     		cmp	r6, #85
 766 0072 40F04181 		bne	.L87
 767 0076 27E0     		b	.L96
 768              	.L89:
 769 0078 6B2E     		cmp	r6, #107
 770 007a 00F08880 		beq	.L97
 771 007e 11D8     		bhi	.L98
 772 0080 652E     		cmp	r6, #101
 773 0082 00F0E880 		beq	.L99
 774 0086 1CD3     		bcc	.L92
 775 0088 662E     		cmp	r6, #102
 776 008a 40F03581 		bne	.L87
 377:uc_libc_dev/stdio/stdio_uc.c **** 			case 'C' :
 378:uc_libc_dev/stdio/stdio_uc.c **** 			case 'c' : print_putchar(output, va_arg(args,int)); break;
 379:uc_libc_dev/stdio/stdio_uc.c **** 			case 'D' :
 380:uc_libc_dev/stdio/stdio_uc.c **** 			case 'd' : print_int(output, va_arg(args,int)); break;
 381:uc_libc_dev/stdio/stdio_uc.c **** 			case 'U' :
 382:uc_libc_dev/stdio/stdio_uc.c **** 			case 'u' : print_uint(output, va_arg(args,int)); break;
 383:uc_libc_dev/stdio/stdio_uc.c **** 			#if ( STDIO_USE_HEX == pdON )
 384:uc_libc_dev/stdio/stdio_uc.c **** 			case 'X' :
 385:uc_libc_dev/stdio/stdio_uc.c **** 			case 'x' : print_hex(output, va_arg(args,int));	break;
 386:uc_libc_dev/stdio/stdio_uc.c **** 			#endif
 387:uc_libc_dev/stdio/stdio_uc.c **** 			case 'S' :
 388:uc_libc_dev/stdio/stdio_uc.c **** 			case 's' : print_string(output, (char*)va_arg(args,int)); break;
 389:uc_libc_dev/stdio/stdio_uc.c **** 			#if ( STDIO_USE_SUBINT == pdON )
 390:uc_libc_dev/stdio/stdio_uc.c **** 			case 'k' : print_intF(output, va_arg(args,long));	break;
 391:uc_libc_dev/stdio/stdio_uc.c **** 			#endif
 392:uc_libc_dev/stdio/stdio_uc.c **** 			#if ( STDIO_USE_TIME == pdON )
 393:uc_libc_dev/stdio/stdio_uc.c **** 			case 't' : print_time(output, va_arg(args,long)); break;
 394:uc_libc_dev/stdio/stdio_uc.c **** 			#endif
 395:uc_libc_dev/stdio/stdio_uc.c **** 			#if ( STDIO_USE_BIN == pdON )
 396:uc_libc_dev/stdio/stdio_uc.c **** 			case 'b' : print_bin(output, va_arg(args,long)); break;
 397:uc_libc_dev/stdio/stdio_uc.c **** 			#endif
 398:uc_libc_dev/stdio/stdio_uc.c **** 			#if ( STDIO_USE_FLOAT == pdON )
 399:uc_libc_dev/stdio/stdio_uc.c **** 			case 'f' : print_float(output, va_arg(args, double)); break;
 777              		.loc 1 399 0
 778 008e 0735     		adds	r5, r5, #7
 779 0090 25F00705 		bic	r5, r5, #7
 780 0094 D5E90023 		ldrd	r2, [r5]
 781              	.LVL80:
 782 0098 2046     		mov	r0, r4
 783 009a 05F10806 		add	r6, r5, #8
 784              	.LVL81:
 785 009e FFF7FEFF 		bl	print_float
 786              	.LVL82:
 787 00a2 5CE1     		b	.L137
 788              	.LVL83:
 789              	.L98:
 375:uc_libc_dev/stdio/stdio_uc.c **** 			case '%' : print_putchar(output, '%'); break;
 790              		.loc 1 375 0
 791 00a4 742E     		cmp	r6, #116
 792 00a6 00F09480 		beq	.L101
 793 00aa 02D8     		bhi	.L102
 794 00ac 732E     		cmp	r6, #115
 795 00ae 58D0     		beq	.L90
 796 00b0 22E1     		b	.L87
 797              	.L102:
 798 00b2 752E     		cmp	r6, #117
 799 00b4 08D0     		beq	.L96
 800 00b6 782E     		cmp	r6, #120
 801 00b8 27D0     		beq	.L94
 802 00ba 1DE1     		b	.L87
 803              	.L88:
 378:uc_libc_dev/stdio/stdio_uc.c **** 			case 'D' :
 804              		.loc 1 378 0
 805 00bc 2E1D     		adds	r6, r5, #4
 806              	.LVL84:
 807 00be 2978     		ldrb	r1, [r5]	@ zero_extendqisi2
 808 00c0 83E0     		b	.L178
 809              	.LVL85:
 810              	.L92:
 380:uc_libc_dev/stdio/stdio_uc.c **** 			case 'U' :
 811              		.loc 1 380 0
 812 00c2 2E1D     		adds	r6, r5, #4
 813              	.LVL86:
 814 00c4 2968     		ldr	r1, [r5]
 815 00c6 13E1     		b	.L179
 816              	.LVL87:
 817              	.L96:
 382:uc_libc_dev/stdio/stdio_uc.c **** 			#if ( STDIO_USE_HEX == pdON )
 818              		.loc 1 382 0
 819 00c8 2E1D     		adds	r6, r5, #4
 820              	.LVL88:
 821 00ca 2B68     		ldr	r3, [r5]
 822              	.LVL89:
 823              	.LBB20:
 824              	.LBB21:
 254:uc_libc_dev/stdio/stdio_uc.c **** 		x = x/10;
 825              		.loc 1 254 0
 826 00cc 0DF11008 		add	r8, sp, #16
 827              	.LVL90:
 252:uc_libc_dev/stdio/stdio_uc.c **** 	do	{
 828              		.loc 1 252 0
 829 00d0 0025     		movs	r5, #0
 254:uc_libc_dev/stdio/stdio_uc.c **** 		x = x/10;
 830              		.loc 1 254 0
 831 00d2 0A21     		movs	r1, #10
 832              	.LVL91:
 833              	.L104:
 834 00d4 B3FBF1F2 		udiv	r2, r3, r1
 835              	.LVL92:
 836 00d8 01FB1233 		mls	r3, r1, r2, r3
 837              	.LVL93:
 838 00dc 0135     		adds	r5, r5, #1
 839              	.LVL94:
 840 00de 3033     		adds	r3, r3, #48
 841 00e0 08EB0500 		add	r0, r8, r5
 842 00e4 00F8013C 		strb	r3, [r0, #-1]
 256:uc_libc_dev/stdio/stdio_uc.c **** 
 843              		.loc 1 256 0
 844 00e8 1346     		mov	r3, r2
 845 00ea 002A     		cmp	r2, #0
 846 00ec F2D1     		bne	.L104
 258:uc_libc_dev/stdio/stdio_uc.c **** 	while (d--) print_putchar(output, digits[d]);
 847              		.loc 1 258 0
 848 00ee 2946     		mov	r1, r5
 849 00f0 2046     		mov	r0, r4
 850 00f2 FFF7FEFF 		bl	print_fill
 851              	.LVL95:
 852              	.L105:
 259:uc_libc_dev/stdio/stdio_uc.c **** }
 853              		.loc 1 259 0
 854 00f6 15F1FF35 		adds	r5, r5, #-1
 855              	.LVL96:
 856 00fa C0F03081 		bcc	.L137
 857              	.LVL97:
 858 00fe 18F80510 		ldrb	r1, [r8, r5]	@ zero_extendqisi2
 859 0102 2046     		mov	r0, r4
 860 0104 FFF7FEFF 		bl	print_putchar
 861              	.LVL98:
 862 0108 F5E7     		b	.L105
 863              	.LVL99:
 864              	.L94:
 865              	.LBE21:
 866              	.LBE20:
 867              	.LBB22:
 868              	.LBB23:
 275:uc_libc_dev/stdio/stdio_uc.c **** 		'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'
 869              		.loc 1 275 0
 870 010a EE46     		mov	lr, sp
 871 010c 974B     		ldr	r3, .L182
 872              	.LBE23:
 873              	.LBE22:
 385:uc_libc_dev/stdio/stdio_uc.c **** 			#endif
 874              		.loc 1 385 0
 875 010e 2A68     		ldr	r2, [r5]
 876              	.LVL100:
 877 0110 2E1D     		adds	r6, r5, #4
 878              	.LVL101:
 879              	.LBB25:
 880              	.LBB24:
 275:uc_libc_dev/stdio/stdio_uc.c **** 		'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'
 881              		.loc 1 275 0
 882 0112 03F1100C 		add	ip, r3, #16
 883              	.LVL102:
 884              	.L107:
 885 0116 7546     		mov	r5, lr
 886 0118 1868     		ldr	r0, [r3]	@ unaligned
 887 011a 5968     		ldr	r1, [r3, #4]	@ unaligned
 888 011c 0833     		adds	r3, r3, #8
 889 011e 03C5     		stmia	r5!, {r0, r1}
 890 0120 6345     		cmp	r3, ip
 891 0122 AE46     		mov	lr, r5
 892 0124 F7D1     		bne	.L107
 893              	.LVL103:
 280:uc_libc_dev/stdio/stdio_uc.c **** 	do	{
 894              		.loc 1 280 0
 895 0126 0025     		movs	r5, #0
 282:uc_libc_dev/stdio/stdio_uc.c **** 		x = x>>4;
 896              		.loc 1 282 0
 897 0128 0DF11008 		add	r8, sp, #16
 898              	.LVL104:
 899              	.L108:
 900 012c 02F00F03 		and	r3, r2, #15
 901 0130 14A8     		add	r0, sp, #80
 902 0132 0344     		add	r3, r3, r0
 903 0134 0135     		adds	r5, r5, #1
 904              	.LVL105:
 905 0136 13F8503C 		ldrb	r3, [r3, #-80]	@ zero_extendqisi2
 906 013a 08EB0501 		add	r1, r8, r5
 284:uc_libc_dev/stdio/stdio_uc.c **** 
 907              		.loc 1 284 0
 908 013e 1209     		lsrs	r2, r2, #4
 909              	.LVL106:
 282:uc_libc_dev/stdio/stdio_uc.c **** 		x = x>>4;
 910              		.loc 1 282 0
 911 0140 01F8013C 		strb	r3, [r1, #-1]
 284:uc_libc_dev/stdio/stdio_uc.c **** 
 912              		.loc 1 284 0
 913 0144 F2D1     		bne	.L108
 288:uc_libc_dev/stdio/stdio_uc.c **** 	while (d--) print_putchar(output, digits[d]);
 914              		.loc 1 288 0
 915 0146 2946     		mov	r1, r5
 916 0148 2046     		mov	r0, r4
 917 014a FFF7FEFF 		bl	print_fill
 918              	.LVL107:
 919              	.L109:
 289:uc_libc_dev/stdio/stdio_uc.c **** }
 920              		.loc 1 289 0
 921 014e 15F1FF35 		adds	r5, r5, #-1
 922              	.LVL108:
 923 0152 C0F00481 		bcc	.L137
 924              	.LVL109:
 925 0156 18F80510 		ldrb	r1, [r8, r5]	@ zero_extendqisi2
 926 015a 2046     		mov	r0, r4
 927 015c FFF7FEFF 		bl	print_putchar
 928              	.LVL110:
 929 0160 F5E7     		b	.L109
 930              	.LVL111:
 931              	.L90:
 932              	.LBE24:
 933              	.LBE25:
 388:uc_libc_dev/stdio/stdio_uc.c **** 			#if ( STDIO_USE_SUBINT == pdON )
 934              		.loc 1 388 0
 935 0162 2E1D     		adds	r6, r5, #4
 936              	.LVL112:
 937 0164 2D68     		ldr	r5, [r5]
 938              	.LVL113:
 939              	.LBB26:
 940              	.LBB27:
 211:uc_libc_dev/stdio/stdio_uc.c **** 	while (s[d])
 941              		.loc 1 211 0
 942 0166 002D     		cmp	r5, #0
 943 0168 00F0F980 		beq	.L137
 944 016c A946     		mov	r9, r5
 945              	.LVL114:
 946              	.L111:
 947 016e C5EB0901 		rsb	r1, r5, r9
 948              	.LVL115:
 212:uc_libc_dev/stdio/stdio_uc.c **** 		print_putchar(output, s[d++]);
 949              		.loc 1 212 0
 950 0172 19F8018B 		ldrb	r8, [r9], #1	@ zero_extendqisi2
 951 0176 B8F1000F 		cmp	r8, #0
 952 017a 04D0     		beq	.L180
 953              	.LVL116:
 213:uc_libc_dev/stdio/stdio_uc.c **** 	print_fill(output, d);
 954              		.loc 1 213 0
 955 017c 4146     		mov	r1, r8
 956 017e 2046     		mov	r0, r4
 957 0180 FFF7FEFF 		bl	print_putchar
 958              	.LVL117:
 959 0184 F3E7     		b	.L111
 960              	.LVL118:
 961              	.L180:
 214:uc_libc_dev/stdio/stdio_uc.c **** }
 962              		.loc 1 214 0
 963 0186 2046     		mov	r0, r4
 964 0188 FFF7FEFF 		bl	print_fill
 965              	.LVL119:
 966 018c E7E0     		b	.L137
 967              	.LVL120:
 968              	.L97:
 969              	.LBE27:
 970              	.LBE26:
 390:uc_libc_dev/stdio/stdio_uc.c **** 			#endif
 971              		.loc 1 390 0
 972 018e 2E1D     		adds	r6, r5, #4
 973              	.LVL121:
 974 0190 2968     		ldr	r1, [r5]
 975              	.LVL122:
 976              	.LBB28:
 977              	.LBB29:
 264:uc_libc_dev/stdio/stdio_uc.c **** 	while (x>10240) { x = x/1024; b++; }
 978              		.loc 1 264 0
 979 0192 0025     		movs	r5, #0
 980              	.LVL123:
 981              	.L113:
 265:uc_libc_dev/stdio/stdio_uc.c **** 	print_int(output, x);
 982              		.loc 1 265 0
 983 0194 B1F5205F 		cmp	r1, #10240
 984 0198 02DD     		ble	.L181
 985 019a 8912     		asrs	r1, r1, #10
 986              	.LVL124:
 987 019c 0135     		adds	r5, r5, #1
 988              	.LVL125:
 989 019e F9E7     		b	.L113
 990              	.L181:
 266:uc_libc_dev/stdio/stdio_uc.c **** 	if (b==1) print_putchar(output, 'k');
 991              		.loc 1 266 0
 992 01a0 2046     		mov	r0, r4
 993 01a2 FFF7FEFF 		bl	print_int
 994              	.LVL126:
 267:uc_libc_dev/stdio/stdio_uc.c **** 	if (b==2) print_putchar(output, 'M');
 995              		.loc 1 267 0
 996 01a6 012D     		cmp	r5, #1
 997 01a8 01D1     		bne	.L115
 998 01aa 6B21     		movs	r1, #107
 999 01ac 0DE0     		b	.L178
 1000              	.L115:
 268:uc_libc_dev/stdio/stdio_uc.c **** 	if (b==3) print_putchar(output, 'G');
 1001              		.loc 1 268 0
 1002 01ae 022D     		cmp	r5, #2
 1003 01b0 07D1     		bne	.L116
 1004 01b2 4D21     		movs	r1, #77
 1005 01b4 2046     		mov	r0, r4
 1006 01b6 FFF7FEFF 		bl	print_putchar
 1007              	.LVL127:
 1008              	.L177:
 1009              	.LBE29:
 1010              	.LBE28:
 390:uc_libc_dev/stdio/stdio_uc.c **** 			#endif
 1011              		.loc 1 390 0
 1012 01ba 3546     		mov	r5, r6
 1013              	.L139:
 1014 01bc 0021     		movs	r1, #0
 1015              	.LVL128:
 1016              	.L117:
 367:uc_libc_dev/stdio/stdio_uc.c **** 
 1017              		.loc 1 367 0
 1018 01be B846     		mov	r8, r7
 1019 01c0 26E7     		b	.L83
 1020              	.LVL129:
 1021              	.L116:
 1022              	.LBB31:
 1023              	.LBB30:
 269:uc_libc_dev/stdio/stdio_uc.c **** }
 1024              		.loc 1 269 0
 1025 01c2 032D     		cmp	r5, #3
 1026 01c4 40F0CB80 		bne	.L137
 1027 01c8 4721     		movs	r1, #71
 1028              	.LVL130:
 1029              	.L178:
 1030 01ca 2046     		mov	r0, r4
 1031 01cc FFF7FEFF 		bl	print_putchar
 1032              	.LVL131:
 1033 01d0 C5E0     		b	.L137
 1034              	.LVL132:
 1035              	.L101:
 1036              	.LBE30:
 1037              	.LBE31:
 393:uc_libc_dev/stdio/stdio_uc.c **** 			#endif
 1038              		.loc 1 393 0
 1039 01d2 D5F80090 		ldr	r9, [r5]
 1040              	.LBB32:
 1041              	.LBB33:
 319:uc_libc_dev/stdio/stdio_uc.c **** 	output->fill = '0';
 1042              		.loc 1 319 0
 1043 01d6 0223     		movs	r3, #2
 1044 01d8 2372     		strb	r3, [r4, #8]
 321:uc_libc_dev/stdio/stdio_uc.c **** 	print_int(output, m);	print_putchar(output, 39);
 1045              		.loc 1 321 0
 1046 01da 4FF46161 		mov	r1, #3600
 320:uc_libc_dev/stdio/stdio_uc.c **** 	print_int(output, h);	print_putchar(output, ':');
 1047              		.loc 1 320 0
 1048 01de 3023     		movs	r3, #48
 1049 01e0 6372     		strb	r3, [r4, #9]
 321:uc_libc_dev/stdio/stdio_uc.c **** 	print_int(output, m);	print_putchar(output, 39);
 1050              		.loc 1 321 0
 1051 01e2 99FBF1F1 		sdiv	r1, r9, r1
 1052 01e6 2046     		mov	r0, r4
 1053 01e8 FFF7FEFF 		bl	print_int
 1054              	.LVL133:
 1055              	.LBE33:
 1056              	.LBE32:
 393:uc_libc_dev/stdio/stdio_uc.c **** 			#endif
 1057              		.loc 1 393 0
 1058 01ec 2E1D     		adds	r6, r5, #4
 1059              	.LVL134:
 1060              	.LBB35:
 1061              	.LBB34:
 321:uc_libc_dev/stdio/stdio_uc.c **** 	print_int(output, m);	print_putchar(output, 39);
 1062              		.loc 1 321 0
 1063 01ee 3A21     		movs	r1, #58
 322:uc_libc_dev/stdio/stdio_uc.c **** 	print_int(output, s);
 1064              		.loc 1 322 0
 1065 01f0 3C25     		movs	r5, #60
 321:uc_libc_dev/stdio/stdio_uc.c **** 	print_int(output, m);	print_putchar(output, 39);
 1066              		.loc 1 321 0
 1067 01f2 2046     		mov	r0, r4
 1068 01f4 FFF7FEFF 		bl	print_putchar
 1069              	.LVL135:
 322:uc_libc_dev/stdio/stdio_uc.c **** 	print_int(output, s);
 1070              		.loc 1 322 0
 1071 01f8 99FBF5F8 		sdiv	r8, r9, r5
 1072 01fc 98FBF5F1 		sdiv	r1, r8, r5
 1073 0200 2046     		mov	r0, r4
 1074 0202 05FB1181 		mls	r1, r5, r1, r8
 1075 0206 FFF7FEFF 		bl	print_int
 1076              	.LVL136:
 1077 020a 2721     		movs	r1, #39
 1078 020c 2046     		mov	r0, r4
 1079 020e FFF7FEFF 		bl	print_putchar
 1080              	.LVL137:
 323:uc_libc_dev/stdio/stdio_uc.c **** }
 1081              		.loc 1 323 0
 1082 0212 05FB1891 		mls	r1, r5, r8, r9
 1083 0216 6BE0     		b	.L179
 1084              	.LVL138:
 1085              	.L95:
 1086              	.LBE34:
 1087              	.LBE35:
 1088              	.LBB36:
 1089              	.LBB37:
 297:uc_libc_dev/stdio/stdio_uc.c **** 	do {
 1090              		.loc 1 297 0
 1091 0218 3022     		movs	r2, #48
 1092              	.LVL139:
 1093              	.LBE37:
 1094              	.LBE36:
 396:uc_libc_dev/stdio/stdio_uc.c **** 			#endif
 1095              		.loc 1 396 0
 1096 021a 2B68     		ldr	r3, [r5]
 1097 021c 2E1D     		adds	r6, r5, #4
 1098              	.LVL140:
 1099              	.LBB39:
 1100              	.LBB38:
 297:uc_libc_dev/stdio/stdio_uc.c **** 	do {
 1101              		.loc 1 297 0
 1102 021e 6272     		strb	r2, [r4, #9]
 1103              	.LVL141:
 296:uc_libc_dev/stdio/stdio_uc.c **** 	output->fill = '0';
 1104              		.loc 1 296 0
 1105 0220 0025     		movs	r5, #0
 299:uc_libc_dev/stdio/stdio_uc.c **** 		x = x>>1;
 1106              		.loc 1 299 0
 1107 0222 0DF11008 		add	r8, sp, #16
 1108              	.LVL142:
 1109              	.L118:
 1110 0226 03F00102 		and	r2, r3, #1
 1111 022a 0135     		adds	r5, r5, #1
 1112              	.LVL143:
 1113 022c 08EB0501 		add	r1, r8, r5
 1114 0230 3032     		adds	r2, r2, #48
 301:uc_libc_dev/stdio/stdio_uc.c **** 	//print_putchar(output, '0');
 1115              		.loc 1 301 0
 1116 0232 5B10     		asrs	r3, r3, #1
 1117              	.LVL144:
 299:uc_libc_dev/stdio/stdio_uc.c **** 		x = x>>1;
 1118              		.loc 1 299 0
 1119 0234 01F8012C 		strb	r2, [r1, #-1]
 301:uc_libc_dev/stdio/stdio_uc.c **** 	//print_putchar(output, '0');
 1120              		.loc 1 301 0
 1121 0238 F5D1     		bne	.L118
 304:uc_libc_dev/stdio/stdio_uc.c **** 	while (d--) print_putchar(output, digits[d]);
 1122              		.loc 1 304 0
 1123 023a 2946     		mov	r1, r5
 1124 023c 2046     		mov	r0, r4
 1125 023e FFF7FEFF 		bl	print_fill
 1126              	.LVL145:
 1127              	.L119:
 305:uc_libc_dev/stdio/stdio_uc.c **** }
 1128              		.loc 1 305 0
 1129 0242 15F1FF35 		adds	r5, r5, #-1
 1130              	.LVL146:
 1131 0246 C0F08A80 		bcc	.L137
 1132              	.LVL147:
 1133 024a 18F80510 		ldrb	r1, [r8, r5]	@ zero_extendqisi2
 1134 024e 2046     		mov	r0, r4
 1135 0250 FFF7FEFF 		bl	print_putchar
 1136              	.LVL148:
 1137 0254 F5E7     		b	.L119
 1138              	.LVL149:
 1139              	.L99:
 1140              	.LBE38:
 1141              	.LBE39:
 400:uc_libc_dev/stdio/stdio_uc.c **** 			case 'e' : print_exp(output, va_arg(args, double)); break;
 1142              		.loc 1 400 0
 1143 0256 0735     		adds	r5, r5, #7
 1144 0258 25F00705 		bic	r5, r5, #7
 1145 025c D5F80080 		ldr	r8, [r5]
 1146 0260 05F10806 		add	r6, r5, #8
 1147              	.LVL150:
 1148 0264 6D68     		ldr	r5, [r5, #4]
 1149              	.LVL151:
 1150              	.LBB40:
 1151              	.LBB41:
 346:uc_libc_dev/stdio/stdio_uc.c **** 	if (x!=0) {
 1152              		.loc 1 346 0
 1153 0266 0022     		movs	r2, #0
 1154              	.LVL152:
 1155 0268 0023     		movs	r3, #0
 1156 026a 4046     		mov	r0, r8
 1157 026c 2946     		mov	r1, r5
 1158 026e FFF7FEFF 		bl	__aeabi_dcmplt
 1159              	.LVL153:
 1160 0272 28B1     		cbz	r0, .L121
 1161 0274 2D21     		movs	r1, #45
 1162 0276 2046     		mov	r0, r4
 1163 0278 FFF7FEFF 		bl	print_putchar
 1164              	.LVL154:
 1165 027c 05F10045 		add	r5, r5, #-2147483648
 1166              	.LVL155:
 1167              	.L121:
 347:uc_libc_dev/stdio/stdio_uc.c **** 		while (x<1) { x = x*10; exp--; }
 1168              		.loc 1 347 0
 1169 0280 0022     		movs	r2, #0
 1170 0282 0023     		movs	r3, #0
 1171 0284 4046     		mov	r0, r8
 1172 0286 2946     		mov	r1, r5
 1173 0288 FFF7FEFF 		bl	__aeabi_dcmpeq
 1174              	.LVL156:
 1175 028c 20BB     		cbnz	r0, .L173
 1176 028e 8146     		mov	r9, r0
 1177              	.LVL157:
 1178              	.L125:
 348:uc_libc_dev/stdio/stdio_uc.c **** 		while (x>10){ x = x/10; exp++; }
 1179              		.loc 1 348 0
 1180 0290 0022     		movs	r2, #0
 1181 0292 374B     		ldr	r3, .L182+4
 1182 0294 4046     		mov	r0, r8
 1183 0296 2946     		mov	r1, r5
 1184 0298 FFF7FEFF 		bl	__aeabi_dcmplt
 1185              	.LVL158:
 1186 029c 50B1     		cbz	r0, .L127
 1187 029e 4046     		mov	r0, r8
 1188 02a0 2946     		mov	r1, r5
 1189 02a2 0022     		movs	r2, #0
 1190 02a4 334B     		ldr	r3, .L182+8
 1191 02a6 FFF7FEFF 		bl	__aeabi_dmul
 1192              	.LVL159:
 1193 02aa 09F1FF39 		add	r9, r9, #-1
 1194              	.LVL160:
 1195 02ae 8046     		mov	r8, r0
 1196              	.LVL161:
 1197 02b0 0D46     		mov	r5, r1
 1198              	.LVL162:
 1199 02b2 EDE7     		b	.L125
 1200              	.LVL163:
 1201              	.L127:
 349:uc_libc_dev/stdio/stdio_uc.c **** 	}
 1202              		.loc 1 349 0
 1203 02b4 0022     		movs	r2, #0
 1204 02b6 2F4B     		ldr	r3, .L182+8
 1205 02b8 4046     		mov	r0, r8
 1206 02ba 2946     		mov	r1, r5
 1207 02bc FFF7FEFF 		bl	__aeabi_dcmpgt
 1208              	.LVL164:
 1209 02c0 60B1     		cbz	r0, .L123
 1210 02c2 4046     		mov	r0, r8
 1211 02c4 2946     		mov	r1, r5
 1212 02c6 0022     		movs	r2, #0
 1213 02c8 2A4B     		ldr	r3, .L182+8
 1214 02ca FFF7FEFF 		bl	__aeabi_ddiv
 1215              	.LVL165:
 1216 02ce 09F10109 		add	r9, r9, #1
 1217              	.LVL166:
 1218 02d2 8046     		mov	r8, r0
 1219              	.LVL167:
 1220 02d4 0D46     		mov	r5, r1
 1221              	.LVL168:
 1222 02d6 EDE7     		b	.L127
 1223              	.LVL169:
 1224              	.L173:
 345:uc_libc_dev/stdio/stdio_uc.c **** 	if (x<0) { print_putchar(output, '-'); x = -x; }
 1225              		.loc 1 345 0
 1226 02d8 4FF00009 		mov	r9, #0
 1227              	.LVL170:
 1228              	.L123:
 351:uc_libc_dev/stdio/stdio_uc.c **** 	print_putchar(output, 'E');
 1229              		.loc 1 351 0
 1230 02dc 4246     		mov	r2, r8
 1231 02de 2B46     		mov	r3, r5
 1232 02e0 2046     		mov	r0, r4
 1233 02e2 FFF7FEFF 		bl	print_float
 1234              	.LVL171:
 352:uc_libc_dev/stdio/stdio_uc.c **** 	print_int(output, exp);
 1235              		.loc 1 352 0
 1236 02e6 4521     		movs	r1, #69
 1237 02e8 2046     		mov	r0, r4
 1238 02ea FFF7FEFF 		bl	print_putchar
 1239              	.LVL172:
 353:uc_libc_dev/stdio/stdio_uc.c **** }
 1240              		.loc 1 353 0
 1241 02ee 4946     		mov	r1, r9
 1242              	.LVL173:
 1243              	.L179:
 1244 02f0 2046     		mov	r0, r4
 1245 02f2 FFF7FEFF 		bl	print_int
 1246              	.LVL174:
 1247 02f6 32E0     		b	.L137
 1248              	.LVL175:
 1249              	.L87:
 1250              	.LBE41:
 1251              	.LBE40:
 401:uc_libc_dev/stdio/stdio_uc.c **** 			#endif
 402:uc_libc_dev/stdio/stdio_uc.c **** 			default :
 403:uc_libc_dev/stdio/stdio_uc.c **** 				// preencher com '0'?
 404:uc_libc_dev/stdio/stdio_uc.c **** 				if ( (c=='0')&&(output->prefix==0) ) {
 1252              		.loc 1 404 0
 1253 02f8 302E     		cmp	r6, #48
 1254 02fa 03D1     		bne	.L129
 1255              		.loc 1 404 0 is_stmt 0 discriminator 1
 1256 02fc 237A     		ldrb	r3, [r4, #8]	@ zero_extendqisi2
 1257 02fe 53B9     		cbnz	r3, .L130
 1258              	.LVL176:
 405:uc_libc_dev/stdio/stdio_uc.c **** 					doformat = 1; output->fill = '0';
 1259              		.loc 1 405 0 is_stmt 1
 1260 0300 6672     		strb	r6, [r4, #9]
 1261 0302 1EE0     		b	.L175
 1262              	.LVL177:
 1263              	.L129:
 406:uc_libc_dev/stdio/stdio_uc.c **** 					continue;
 407:uc_libc_dev/stdio/stdio_uc.c **** 				}
 408:uc_libc_dev/stdio/stdio_uc.c **** 
 409:uc_libc_dev/stdio/stdio_uc.c **** 				// vai indicar a precisao
 410:uc_libc_dev/stdio/stdio_uc.c **** 				if (c=='.') {
 1264              		.loc 1 410 0
 1265 0304 2E2E     		cmp	r6, #46
 1266 0306 06D1     		bne	.L130
 1267              	.LVL178:
 411:uc_libc_dev/stdio/stdio_uc.c **** 					doformat = 1;
 412:uc_libc_dev/stdio/stdio_uc.c **** 					output->precision = (*fmt++)-'0';
 1268              		.loc 1 412 0
 1269 0308 98F80130 		ldrb	r3, [r8, #1]	@ zero_extendqisi2
 1270 030c 08F10207 		add	r7, r8, #2
 1271              	.LVL179:
 1272 0310 303B     		subs	r3, r3, #48
 1273 0312 A372     		strb	r3, [r4, #10]
 1274 0314 15E0     		b	.L175
 1275              	.LVL180:
 1276              	.L130:
 413:uc_libc_dev/stdio/stdio_uc.c **** 					continue;
 414:uc_libc_dev/stdio/stdio_uc.c **** 				}
 415:uc_libc_dev/stdio/stdio_uc.c **** 
 416:uc_libc_dev/stdio/stdio_uc.c **** 				//esta indicando o prefixo...
 417:uc_libc_dev/stdio/stdio_uc.c **** 				if ( (c>='0')&&(c<='9') ) {
 1277              		.loc 1 417 0
 1278 0316 A6F13003 		sub	r3, r6, #48
 1279 031a 092B     		cmp	r3, #9
 1280 031c 08D8     		bhi	.L131
 1281              	.LVL181:
 418:uc_libc_dev/stdio/stdio_uc.c **** 					doformat = 1;
 419:uc_libc_dev/stdio/stdio_uc.c **** 					output->prefix = output->prefix*10 + (c - '0');
 1282              		.loc 1 419 0
 1283 031e 237A     		ldrb	r3, [r4, #8]	@ zero_extendqisi2
 418:uc_libc_dev/stdio/stdio_uc.c **** 					doformat = 1;
 1284              		.loc 1 418 0
 1285 0320 0121     		movs	r1, #1
 1286              		.loc 1 419 0
 1287 0322 03EB8303 		add	r3, r3, r3, lsl #2
 1288 0326 06EB4306 		add	r6, r6, r3, lsl #1
 1289              	.LVL182:
 1290 032a 303E     		subs	r6, r6, #48
 1291 032c 2672     		strb	r6, [r4, #8]
 1292              	.LVL183:
 420:uc_libc_dev/stdio/stdio_uc.c **** 					continue;
 1293              		.loc 1 420 0
 1294 032e 46E7     		b	.L117
 1295              	.LVL184:
 1296              	.L131:
 421:uc_libc_dev/stdio/stdio_uc.c **** 				}
 422:uc_libc_dev/stdio/stdio_uc.c **** 				print_putchar(output, '?');
 1297              		.loc 1 422 0
 1298 0330 3F21     		movs	r1, #63
 1299 0332 0DE0     		b	.L174
 1300              	.LVL185:
 1301              	.L84:
 423:uc_libc_dev/stdio/stdio_uc.c **** 				break;
 424:uc_libc_dev/stdio/stdio_uc.c **** 			}
 425:uc_libc_dev/stdio/stdio_uc.c **** 			continue;
 426:uc_libc_dev/stdio/stdio_uc.c **** 		}
 427:uc_libc_dev/stdio/stdio_uc.c **** 
 428:uc_libc_dev/stdio/stdio_uc.c **** 		if (c=='%')	{
 1302              		.loc 1 428 0
 1303 0334 252E     		cmp	r6, #37
 1304 0336 07D1     		bne	.L133
 1305              	.LVL186:
 429:uc_libc_dev/stdio/stdio_uc.c **** 			doformat = 1;
 430:uc_libc_dev/stdio/stdio_uc.c **** 			output->prefix = 0;
 431:uc_libc_dev/stdio/stdio_uc.c **** 			output->precision = 5;
 1306              		.loc 1 431 0
 1307 0338 0523     		movs	r3, #5
 1308 033a A372     		strb	r3, [r4, #10]
 432:uc_libc_dev/stdio/stdio_uc.c **** 			output->fill = ' ';
 1309              		.loc 1 432 0
 1310 033c 2023     		movs	r3, #32
 430:uc_libc_dev/stdio/stdio_uc.c **** 			output->precision = 5;
 1311              		.loc 1 430 0
 1312 033e 2172     		strb	r1, [r4, #8]
 1313              		.loc 1 432 0
 1314 0340 6372     		strb	r3, [r4, #9]
 1315              	.L175:
 433:uc_libc_dev/stdio/stdio_uc.c **** 			continue;
 1316              		.loc 1 433 0
 1317 0342 2E46     		mov	r6, r5
 1318              	.LVL187:
 429:uc_libc_dev/stdio/stdio_uc.c **** 			output->prefix = 0;
 1319              		.loc 1 429 0
 1320 0344 0121     		movs	r1, #1
 1321              		.loc 1 433 0
 1322 0346 0BE0     		b	.L103
 1323              	.LVL188:
 1324              	.L133:
 434:uc_libc_dev/stdio/stdio_uc.c **** 		}
 435:uc_libc_dev/stdio/stdio_uc.c **** 
 436:uc_libc_dev/stdio/stdio_uc.c **** 		// Não imprime o caractere nulo (foi incluso essa cláusula em 27/06/2014)
 437:uc_libc_dev/stdio/stdio_uc.c **** 		// o caractere nulo somente será impresso caso for chamado sformat (foi incluso essa cláusula em 
 438:uc_libc_dev/stdio/stdio_uc.c **** 		//	Pois é preciso adicionar o finalizador de string
 439:uc_libc_dev/stdio/stdio_uc.c **** 		if ( (c > 0) || ((c==0) && (output->isSformat)))
 1325              		.loc 1 439 0
 1326 0348 0EB9     		cbnz	r6, .L134
 1327              		.loc 1 439 0 is_stmt 0 discriminator 1
 1328 034a E37A     		ldrb	r3, [r4, #11]	@ zero_extendqisi2
 1329 034c 53B1     		cbz	r3, .L82
 1330              	.L134:
 440:uc_libc_dev/stdio/stdio_uc.c **** 			print_putchar(output, c);
 1331              		.loc 1 440 0 is_stmt 1
 1332 034e 3146     		mov	r1, r6
 1333              	.L174:
 1334 0350 2046     		mov	r0, r4
 1335 0352 FFF7FEFF 		bl	print_putchar
 1336              	.LVL189:
 441:uc_libc_dev/stdio/stdio_uc.c **** 	} while (c);
 1337              		.loc 1 441 0
 1338 0356 002E     		cmp	r6, #0
 1339 0358 7FF430AF 		bne	.L139
 1340 035c 02E0     		b	.L82
 1341              	.LVL190:
 1342              	.L137:
 367:uc_libc_dev/stdio/stdio_uc.c **** 
 1343              		.loc 1 367 0
 1344 035e 0021     		movs	r1, #0
 1345              	.LVL191:
 1346              	.L103:
 357:uc_libc_dev/stdio/stdio_uc.c **** 	char c, doformat = 0;
 1347              		.loc 1 357 0
 1348 0360 3546     		mov	r5, r6
 1349 0362 2CE7     		b	.L117
 1350              	.LVL192:
 1351              	.L82:
 442:uc_libc_dev/stdio/stdio_uc.c **** }
 1352              		.loc 1 442 0
 1353 0364 15B0     		add	sp, sp, #84
 1354              	.LCFI13:
 1355              		.cfi_def_cfa_offset 28
 1356              		@ sp needed
 1357 0366 BDE8F083 		pop	{r4, r5, r6, r7, r8, r9, pc}
 1358              	.LVL193:
 1359              	.L183:
 1360 036a 00BF     		.align	2
 1361              	.L182:
 1362 036c 00000000 		.word	.LANCHOR9
 1363 0370 0000F03F 		.word	1072693248
 1364 0374 00002440 		.word	1076101120
 1365              		.cfi_endproc
 1366              	.LFE17:
 1368              		.section	.text.lgetchar,"ax",%progbits
 1369              		.align	1
 1370              		.global	lgetchar
 1371              		.thumb
 1372              		.thumb_func
 1374              	lgetchar:
 1375              	.LFB18:
 443:uc_libc_dev/stdio/stdio_uc.c **** 
 444:uc_libc_dev/stdio/stdio_uc.c **** 
 445:uc_libc_dev/stdio/stdio_uc.c **** // ################################################################################################
 446:uc_libc_dev/stdio/stdio_uc.c **** // FUNÇÕES DE ENTRADA E DE SAÍDAS DE IMPRESSÃO NOS DISPOSITIVOS
 447:uc_libc_dev/stdio/stdio_uc.c **** // ################################################################################################
 448:uc_libc_dev/stdio/stdio_uc.c **** int lgetchar(u8 *ch) {
 1376              		.loc 1 448 0
 1377              		.cfi_startproc
 1378              		@ args = 0, pretend = 0, frame = 0
 1379              		@ frame_needed = 0, uses_anonymous_args = 0
 1380              		@ link register save eliminated.
 1381              	.LVL194:
 449:uc_libc_dev/stdio/stdio_uc.c **** 	return stdio_getc(ch);
 1382              		.loc 1 449 0
 1383 0000 014B     		ldr	r3, .L185
 1384 0002 1B68     		ldr	r3, [r3]
 1385 0004 1847     		bx	r3
 1386              	.LVL195:
 1387              	.L186:
 1388 0006 00BF     		.align	2
 1389              	.L185:
 1390 0008 00000000 		.word	.LANCHOR8
 1391              		.cfi_endproc
 1392              	.LFE18:
 1394              		.section	.text.lputchar,"ax",%progbits
 1395              		.align	1
 1396              		.global	lputchar
 1397              		.thumb
 1398              		.thumb_func
 1400              	lputchar:
 1401              	.LFB19:
 450:uc_libc_dev/stdio/stdio_uc.c **** }
 451:uc_libc_dev/stdio/stdio_uc.c **** 
 452:uc_libc_dev/stdio/stdio_uc.c **** int lputchar(n16 ch) {
 1402              		.loc 1 452 0
 1403              		.cfi_startproc
 1404              		@ args = 0, pretend = 0, frame = 0
 1405              		@ frame_needed = 0, uses_anonymous_args = 0
 1406              		@ link register save eliminated.
 1407              	.LVL196:
 453:uc_libc_dev/stdio/stdio_uc.c **** 	return stdio_putc(ch);
 1408              		.loc 1 453 0
 1409 0000 014B     		ldr	r3, .L188
 1410 0002 1B68     		ldr	r3, [r3]
 1411 0004 1847     		bx	r3
 1412              	.LVL197:
 1413              	.L189:
 1414 0006 00BF     		.align	2
 1415              	.L188:
 1416 0008 00000000 		.word	.LANCHOR1
 1417              		.cfi_endproc
 1418              	.LFE19:
 1420              		.section	.text.rprintf,"ax",%progbits
 1421              		.align	1
 1422              		.global	rprintf
 1423              		.thumb
 1424              		.thumb_func
 1426              	rprintf:
 1427              	.LFB20:
 454:uc_libc_dev/stdio/stdio_uc.c **** }
 455:uc_libc_dev/stdio/stdio_uc.c **** 
 456:uc_libc_dev/stdio/stdio_uc.c **** 
 457:uc_libc_dev/stdio/stdio_uc.c **** // ATENÇÃO. Antes de usar o rprintf é preciso que o dispositivo de saida esteja registrado com rpri
 458:uc_libc_dev/stdio/stdio_uc.c **** // Exemplos rprintf:
 459:uc_libc_dev/stdio/stdio_uc.c **** //	rprintf(DEV, PROGAM_NAME);
 460:uc_libc_dev/stdio/stdio_uc.c **** 
 461:uc_libc_dev/stdio/stdio_uc.c **** // Exemplos lprintf:
 462:uc_libc_dev/stdio/stdio_uc.c **** //	lprintf(PROGAM_NAME);
 463:uc_libc_dev/stdio/stdio_uc.c **** 
 464:uc_libc_dev/stdio/stdio_uc.c **** //	lprintf("TESTE FORMATAÇÃO DE lprintf"CMD_TERMINATOR);
 465:uc_libc_dev/stdio/stdio_uc.c **** //	lprintf("Impressão direta"CMD_TERMINATOR);
 466:uc_libc_dev/stdio/stdio_uc.c **** //	lprintf("Inteiro: %d %d %04d"CMD_TERMINATOR, -2, -4, 5);
 467:uc_libc_dev/stdio/stdio_uc.c **** //	lprintf("Natural: %02u %03u %04u"CMD_TERMINATOR, 2, 4, 5);
 468:uc_libc_dev/stdio/stdio_uc.c **** 
 469:uc_libc_dev/stdio/stdio_uc.c **** //	float a=2.78;
 470:uc_libc_dev/stdio/stdio_uc.c **** //	lprintf("Float: %f"CMD_TERMINATOR, a);
 471:uc_libc_dev/stdio/stdio_uc.c **** //	lprintf("Float: %f %f"CMD_TERMINATOR, a/4, (float)5);
 472:uc_libc_dev/stdio/stdio_uc.c **** //	lprintf("Float def casas fracionarias precisão: %.2f %.2f"CMD_TERMINATOR, a/4, (float)5);
 473:uc_libc_dev/stdio/stdio_uc.c **** //		OBS: máximo precisão é de 9. Ex: %f.9
 474:uc_libc_dev/stdio/stdio_uc.c **** //	lprintf("Float: %f %e %e"CMD_TERMINATOR, 2e10, -1e4, 5);
 475:uc_libc_dev/stdio/stdio_uc.c **** //	lprintf("Float com precisão: %.2f %.5e %.2e"CMD_TERMINATOR, 2e10, -1e4, 5);
 476:uc_libc_dev/stdio/stdio_uc.c **** //		OBS: máximo precisão é de 9. Ex: %f.9
 477:uc_libc_dev/stdio/stdio_uc.c **** 
 478:uc_libc_dev/stdio/stdio_uc.c **** //	lprintf("tempo: %t"CMD_TERMINATOR, 123456L);
 479:uc_libc_dev/stdio/stdio_uc.c **** //	lprintf("Inteiro com subdivições de 1024: %k %k %k %k"CMD_TERMINATOR, 100, 1024, 1024*1024, 1024
 480:uc_libc_dev/stdio/stdio_uc.c **** //	lprintf("HEX: 0x%x 0x%2x"CMD_TERMINATOR, 0x123, 0x456);
 481:uc_libc_dev/stdio/stdio_uc.c **** //	lprintf("BIN: 0b%b 0b%2b"CMD_TERMINATOR, 0x123, 0x456);
 482:uc_libc_dev/stdio/stdio_uc.c **** //	lprintf("String: %s"CMD_TERMINATOR, "imprimindo");
 483:uc_libc_dev/stdio/stdio_uc.c **** #if defined(LINUX)
 484:uc_libc_dev/stdio/stdio_uc.c **** int rprintf(const char* fmt, ...) {
 485:uc_libc_dev/stdio/stdio_uc.c **** #else
 486:uc_libc_dev/stdio/stdio_uc.c **** int rprintf(const u8 device, const cpchar fmt, ...) {
 1428              		.loc 1 486 0
 1429              		.cfi_startproc
 1430              		@ args = 4, pretend = 12, frame = 24
 1431              		@ frame_needed = 0, uses_anonymous_args = 1
 1432              	.LVL198:
 1433 0000 0EB4     		push	{r1, r2, r3}
 1434              	.LCFI14:
 1435              		.cfi_def_cfa_offset 12
 1436              		.cfi_offset 1, -12
 1437              		.cfi_offset 2, -8
 1438              		.cfi_offset 3, -4
 1439 0002 3FB5     		push	{r0, r1, r2, r3, r4, r5, lr}
 1440              	.LCFI15:
 1441              		.cfi_def_cfa_offset 40
 1442              		.cfi_offset 14, -16
 1443              		.loc 1 486 0
 1444 0004 07AA     		add	r2, sp, #28
 1445 0006 52F8041B 		ldr	r1, [r2], #4
 487:uc_libc_dev/stdio/stdio_uc.c **** #endif
 488:uc_libc_dev/stdio/stdio_uc.c **** 	int ret = pdPASS;
 489:uc_libc_dev/stdio/stdio_uc.c **** 	tPrint output;
 490:uc_libc_dev/stdio/stdio_uc.c **** 
 491:uc_libc_dev/stdio/stdio_uc.c **** 
 492:uc_libc_dev/stdio/stdio_uc.c **** 	#if defined(FREE_RTOS)
 493:uc_libc_dev/stdio/stdio_uc.c **** 	// Travar o recuro de saida para imprimir toda a mensagem sem que haja troca de contexto.
 494:uc_libc_dev/stdio/stdio_uc.c **** 	//	Ou seja, nenhuma outra tarefa pode enviar uma mensagem no mesmo dispositivo de saída,
 495:uc_libc_dev/stdio/stdio_uc.c **** 	//	através da troca de contexto do kernel, sem que mensagem da tarefa anterior seja totalmente env
 496:uc_libc_dev/stdio/stdio_uc.c ****   	xSemaphoreHandle mutex = NULL;
 497:uc_libc_dev/stdio/stdio_uc.c **** 
 498:uc_libc_dev/stdio/stdio_uc.c ****   	switch(device) {
 499:uc_libc_dev/stdio/stdio_uc.c **** 	case STDIO_LPRINTF:	mutex = stdout_mutex; break;
 500:uc_libc_dev/stdio/stdio_uc.c **** 	case STDIO_DEBUG:	mutex = debug_mutex; break;
 501:uc_libc_dev/stdio/stdio_uc.c **** 	case STDIO_ERROR:	mutex = err_mutex; break;
 502:uc_libc_dev/stdio/stdio_uc.c **** 	case STDIO_DEV1: 	mutex = dev1_mutex; break;
 503:uc_libc_dev/stdio/stdio_uc.c **** 	case STDIO_DEV2: 	mutex = dev2_mutex; break;
 504:uc_libc_dev/stdio/stdio_uc.c **** 	case STDIO_DEV3: 	mutex = dev3_mutex; break;
 505:uc_libc_dev/stdio/stdio_uc.c **** 	case STDIO_DEV4: 	mutex = dev4_mutex; break;
 506:uc_libc_dev/stdio/stdio_uc.c ****  	}
 507:uc_libc_dev/stdio/stdio_uc.c **** 
 508:uc_libc_dev/stdio/stdio_uc.c **** 	// Travar o recurso de saída para transmissão completa da mensagem, esperar MAX_DELAY caso o recur
 509:uc_libc_dev/stdio/stdio_uc.c **** 	ret = xSemaphoreTake(mutex, portMAX_DELAY);
 510:uc_libc_dev/stdio/stdio_uc.c **** 	#endif
 511:uc_libc_dev/stdio/stdio_uc.c **** 
 512:uc_libc_dev/stdio/stdio_uc.c **** 	#if !defined(LINUX)
 513:uc_libc_dev/stdio/stdio_uc.c **** 	output.device = device;			// Sinaliza qual dipositivo de saída deve ser impresso
 514:uc_libc_dev/stdio/stdio_uc.c **** 	#endif
 515:uc_libc_dev/stdio/stdio_uc.c **** 	output.buf = NULL;				// Sinaliza que não vamos usar buffer para formatação de string
 1446              		.loc 1 515 0
 1447 000a 0023     		movs	r3, #0
 513:uc_libc_dev/stdio/stdio_uc.c **** 	#endif
 1448              		.loc 1 513 0
 1449 000c 8DF81400 		strb	r0, [sp, #20]
 516:uc_libc_dev/stdio/stdio_uc.c **** 	output.isSformat = 0;			// Sinaliza que não é um sformat
 517:uc_libc_dev/stdio/stdio_uc.c **** 
 518:uc_libc_dev/stdio/stdio_uc.c **** 	va_list args;					// Cria var para captura de argumentos (fmt) no stack da chamada de função
 519:uc_libc_dev/stdio/stdio_uc.c **** 	va_start(args, fmt);			// Captura os argumentos após fmt
 520:uc_libc_dev/stdio/stdio_uc.c **** 	doprint(&output, fmt, args);	// Faz a formatação da string com ftm e args e manda imprimir
 1450              		.loc 1 520 0
 1451 0010 02A8     		add	r0, sp, #8
 1452              	.LVL199:
 515:uc_libc_dev/stdio/stdio_uc.c **** 	output.isSformat = 0;			// Sinaliza que não é um sformat
 1453              		.loc 1 515 0
 1454 0012 0293     		str	r3, [sp, #8]
 516:uc_libc_dev/stdio/stdio_uc.c **** 	output.isSformat = 0;			// Sinaliza que não é um sformat
 1455              		.loc 1 516 0
 1456 0014 8DF81330 		strb	r3, [sp, #19]
 519:uc_libc_dev/stdio/stdio_uc.c **** 	doprint(&output, fmt, args);	// Faz a formatação da string com ftm e args e manda imprimir
 1457              		.loc 1 519 0
 1458 0018 0192     		str	r2, [sp, #4]
 1459              		.loc 1 520 0
 1460 001a FFF7FEFF 		bl	doprint
 1461              	.LVL200:
 521:uc_libc_dev/stdio/stdio_uc.c **** 	va_end(args);					// Desmonta args
 522:uc_libc_dev/stdio/stdio_uc.c **** 
 523:uc_libc_dev/stdio/stdio_uc.c **** 	#if defined(FREE_RTOS)
 524:uc_libc_dev/stdio/stdio_uc.c **** 	// Liberar o recuro de saida
 525:uc_libc_dev/stdio/stdio_uc.c **** 	xSemaphoreGive(mutex);
 526:uc_libc_dev/stdio/stdio_uc.c **** 	#endif
 527:uc_libc_dev/stdio/stdio_uc.c **** 
 528:uc_libc_dev/stdio/stdio_uc.c ****   	return ret;
 529:uc_libc_dev/stdio/stdio_uc.c **** }
 1462              		.loc 1 529 0
 1463 001e 0120     		movs	r0, #1
 1464 0020 06B0     		add	sp, sp, #24
 1465              	.LCFI16:
 1466              		.cfi_def_cfa_offset 16
 1467              		@ sp needed
 1468 0022 5DF804EB 		ldr	lr, [sp], #4
 1469              	.LCFI17:
 1470              		.cfi_restore 14
 1471              		.cfi_def_cfa_offset 12
 1472 0026 03B0     		add	sp, sp, #12
 1473              	.LCFI18:
 1474              		.cfi_restore 3
 1475              		.cfi_restore 2
 1476              		.cfi_restore 1
 1477              		.cfi_def_cfa_offset 0
 1478 0028 7047     		bx	lr
 1479              		.cfi_endproc
 1480              	.LFE20:
 1482              		.section	.text.sformat,"ax",%progbits
 1483              		.align	1
 1484              		.global	sformat
 1485              		.thumb
 1486              		.thumb_func
 1488              	sformat:
 1489              	.LFB21:
 530:uc_libc_dev/stdio/stdio_uc.c **** 
 531:uc_libc_dev/stdio/stdio_uc.c **** 
 532:uc_libc_dev/stdio/stdio_uc.c **** // ################################################################################################
 533:uc_libc_dev/stdio/stdio_uc.c **** // FORMATAÇÃO DE STRINGS
 534:uc_libc_dev/stdio/stdio_uc.c **** // ################################################################################################
 535:uc_libc_dev/stdio/stdio_uc.c **** 
 536:uc_libc_dev/stdio/stdio_uc.c **** // Exemplos:
 537:uc_libc_dev/stdio/stdio_uc.c **** //	string s;
 538:uc_libc_dev/stdio/stdio_uc.c **** 
 539:uc_libc_dev/stdio/stdio_uc.c **** //	sformat(s, "Inteiro: %d %d %04d", -2, -4, 5);
 540:uc_libc_dev/stdio/stdio_uc.c **** //	sformat(s, "Natural: %02u %03u %04u", 2, 4, 5);
 541:uc_libc_dev/stdio/stdio_uc.c **** 
 542:uc_libc_dev/stdio/stdio_uc.c **** //	float a=2.78;
 543:uc_libc_dev/stdio/stdio_uc.c **** //	sformat(s, "Float: %f"CMD_TERMINATOR, a);
 544:uc_libc_dev/stdio/stdio_uc.c **** //	sformat(s, "Float: %f %f"CMD_TERMINATOR, a/4, (float)5);
 545:uc_libc_dev/stdio/stdio_uc.c **** //	sformat(s, "Float def casas fracionarias precisão: %.2f %.2f"CMD_TERMINATOR, a/4, (float)5);
 546:uc_libc_dev/stdio/stdio_uc.c **** //	sformat(s, "Float: %f %e %e", 2e10, -1e4, 5);
 547:uc_libc_dev/stdio/stdio_uc.c **** //	sformat(s, "Float com precisão: %.2f %.5e %.2e", 2e10, -1e4, 5);
 548:uc_libc_dev/stdio/stdio_uc.c **** //		OBS: máximo precisão é de 9. Ex: %f.9
 549:uc_libc_dev/stdio/stdio_uc.c **** 
 550:uc_libc_dev/stdio/stdio_uc.c **** //	sformat(s, "tempo: %t", 123456L);
 551:uc_libc_dev/stdio/stdio_uc.c **** //	sformat(s, "Inteiro com subdivições de 1024: %k %k %k %k", 100, 1024, 1024*1024, 1024*1024*1024)
 552:uc_libc_dev/stdio/stdio_uc.c **** //	sformat(s, "HEX: 0x%x 0x%2x", 0x123, 0x456);
 553:uc_libc_dev/stdio/stdio_uc.c **** //	sformat(s, "BIN: 0b%b 0b%2b", 0x123, 0x456);
 554:uc_libc_dev/stdio/stdio_uc.c **** //	sformat(s, "String: %s", "imprimindo");
 555:uc_libc_dev/stdio/stdio_uc.c **** 
 556:uc_libc_dev/stdio/stdio_uc.c **** // sformat(s,"%02d:%02d", rtc->hour, rtc->min); //convertendo hora
 557:uc_libc_dev/stdio/stdio_uc.c **** void sformat(pchar s, cpchar fmt, ...) {
 1490              		.loc 1 557 0
 1491              		.cfi_startproc
 1492              		@ args = 4, pretend = 12, frame = 24
 1493              		@ frame_needed = 0, uses_anonymous_args = 1
 1494              	.LVL201:
 1495 0000 0EB4     		push	{r1, r2, r3}
 1496              	.LCFI19:
 1497              		.cfi_def_cfa_offset 12
 1498              		.cfi_offset 1, -12
 1499              		.cfi_offset 2, -8
 1500              		.cfi_offset 3, -4
 1501 0002 3FB5     		push	{r0, r1, r2, r3, r4, r5, lr}
 1502              	.LCFI20:
 1503              		.cfi_def_cfa_offset 40
 1504              		.cfi_offset 14, -16
 1505              		.loc 1 557 0
 1506 0004 07AA     		add	r2, sp, #28
 1507 0006 52F8041B 		ldr	r1, [r2], #4
 558:uc_libc_dev/stdio/stdio_uc.c **** 	tPrint output;
 559:uc_libc_dev/stdio/stdio_uc.c **** 
 560:uc_libc_dev/stdio/stdio_uc.c **** 	output.device = 0;
 1508              		.loc 1 560 0
 1509 000a 0023     		movs	r3, #0
 1510 000c 8DF81430 		strb	r3, [sp, #20]
 561:uc_libc_dev/stdio/stdio_uc.c **** 	output.buf = s;					// Sinaliza qual buffer para armazenar a formatação de string. Também sinaliza
 1511              		.loc 1 561 0
 1512 0010 0290     		str	r0, [sp, #8]
 562:uc_libc_dev/stdio/stdio_uc.c **** 	output.isSformat = 1;			// Sinaliza que é um sformat
 1513              		.loc 1 562 0
 1514 0012 0123     		movs	r3, #1
 563:uc_libc_dev/stdio/stdio_uc.c **** 
 564:uc_libc_dev/stdio/stdio_uc.c **** 	va_list args;					// Cria var para captura de argumentos (fmt) no stack da chamada de função
 565:uc_libc_dev/stdio/stdio_uc.c **** 	va_start(args, fmt);			// Captura os argumentos após fmt
 566:uc_libc_dev/stdio/stdio_uc.c **** 	doprint(&output, fmt, args);	// Faz a formatação da string com ftm e args e manda imprimir
 1515              		.loc 1 566 0
 1516 0014 02A8     		add	r0, sp, #8
 1517              	.LVL202:
 562:uc_libc_dev/stdio/stdio_uc.c **** 	output.isSformat = 1;			// Sinaliza que é um sformat
 1518              		.loc 1 562 0
 1519 0016 8DF81330 		strb	r3, [sp, #19]
 565:uc_libc_dev/stdio/stdio_uc.c **** 	doprint(&output, fmt, args);	// Faz a formatação da string com ftm e args e manda imprimir
 1520              		.loc 1 565 0
 1521 001a 0192     		str	r2, [sp, #4]
 1522              		.loc 1 566 0
 1523 001c FFF7FEFF 		bl	doprint
 1524              	.LVL203:
 567:uc_libc_dev/stdio/stdio_uc.c **** 	va_end(args);					// Desmonta args
 568:uc_libc_dev/stdio/stdio_uc.c **** }
 1525              		.loc 1 568 0
 1526 0020 06B0     		add	sp, sp, #24
 1527              	.LCFI21:
 1528              		.cfi_def_cfa_offset 16
 1529              		@ sp needed
 1530 0022 5DF804EB 		ldr	lr, [sp], #4
 1531              	.LCFI22:
 1532              		.cfi_restore 14
 1533              		.cfi_def_cfa_offset 12
 1534 0026 03B0     		add	sp, sp, #12
 1535              	.LCFI23:
 1536              		.cfi_restore 3
 1537              		.cfi_restore 2
 1538              		.cfi_restore 1
 1539              		.cfi_def_cfa_offset 0
 1540 0028 7047     		bx	lr
 1541              		.cfi_endproc
 1542              	.LFE21:
 1544              		.section	.text.sFormatArgs,"ax",%progbits
 1545              		.align	1
 1546              		.global	sFormatArgs
 1547              		.thumb
 1548              		.thumb_func
 1550              	sFormatArgs:
 1551              	.LFB22:
 569:uc_libc_dev/stdio/stdio_uc.c **** 
 570:uc_libc_dev/stdio/stdio_uc.c **** int sFormatArgs(pchar s, cpchar fmt, va_list args) {
 1552              		.loc 1 570 0
 1553              		.cfi_startproc
 1554              		@ args = 0, pretend = 0, frame = 16
 1555              		@ frame_needed = 0, uses_anonymous_args = 0
 1556              	.LVL204:
 1557 0000 1FB5     		push	{r0, r1, r2, r3, r4, lr}
 1558              	.LCFI24:
 1559              		.cfi_def_cfa_offset 24
 1560              		.cfi_offset 14, -4
 1561              	.LVL205:
 571:uc_libc_dev/stdio/stdio_uc.c **** 	tPrint output;
 572:uc_libc_dev/stdio/stdio_uc.c **** 
 573:uc_libc_dev/stdio/stdio_uc.c **** 	output.device = 0;
 1562              		.loc 1 573 0
 1563 0002 0023     		movs	r3, #0
 574:uc_libc_dev/stdio/stdio_uc.c **** 	output.buf = s;					// Sinaliza qual buffer para armazenar a formatação de string. Também sinaliza
 1564              		.loc 1 574 0
 1565 0004 0090     		str	r0, [sp]
 575:uc_libc_dev/stdio/stdio_uc.c **** 	output.isSformat = 0;			// Sinaliza que não é um sformat
 576:uc_libc_dev/stdio/stdio_uc.c **** 	doprint(&output, fmt, args);
 1566              		.loc 1 576 0
 1567 0006 6846     		mov	r0, sp
 1568              	.LVL206:
 573:uc_libc_dev/stdio/stdio_uc.c **** 	output.buf = s;					// Sinaliza qual buffer para armazenar a formatação de string. Também sinaliza
 1569              		.loc 1 573 0
 1570 0008 8DF80C30 		strb	r3, [sp, #12]
 575:uc_libc_dev/stdio/stdio_uc.c **** 	output.isSformat = 0;			// Sinaliza que não é um sformat
 1571              		.loc 1 575 0
 1572 000c 8DF80B30 		strb	r3, [sp, #11]
 1573              		.loc 1 576 0
 1574 0010 FFF7FEFF 		bl	doprint
 1575              	.LVL207:
 577:uc_libc_dev/stdio/stdio_uc.c **** 
 578:uc_libc_dev/stdio/stdio_uc.c **** 	return output.count;
 579:uc_libc_dev/stdio/stdio_uc.c **** }
 1576              		.loc 1 579 0
 1577 0014 0198     		ldr	r0, [sp, #4]
 1578 0016 05B0     		add	sp, sp, #20
 1579              	.LCFI25:
 1580              		.cfi_def_cfa_offset 4
 1581              		@ sp needed
 1582 0018 5DF804FB 		ldr	pc, [sp], #4
 1583              		.cfi_endproc
 1584              	.LFE22:
 1586              		.section	.text.date2str,"ax",%progbits
 1587              		.align	1
 1588              		.global	date2str
 1589              		.thumb
 1590              		.thumb_func
 1592              	date2str:
 1593              	.LFB23:
 580:uc_libc_dev/stdio/stdio_uc.c **** 
 581:uc_libc_dev/stdio/stdio_uc.c **** #if (STDIO_USE_TIME == pdON)
 582:uc_libc_dev/stdio/stdio_uc.c **** pchar date2str(u8 wday, u8 mday, u8 month, u16 year) {
 1594              		.loc 1 582 0
 1595              		.cfi_startproc
 1596              		@ args = 0, pretend = 0, frame = 32
 1597              		@ frame_needed = 0, uses_anonymous_args = 0
 1598              	.LVL208:
 1599 0000 2DE9F041 		push	{r4, r5, r6, r7, r8, lr}
 1600              	.LCFI26:
 1601              		.cfi_def_cfa_offset 24
 1602              		.cfi_offset 4, -24
 1603              		.cfi_offset 5, -20
 1604              		.cfi_offset 6, -16
 1605              		.cfi_offset 7, -12
 1606              		.cfi_offset 8, -8
 1607              		.cfi_offset 14, -4
 1608 0004 8AB0     		sub	sp, sp, #40
 1609              	.LCFI27:
 1610              		.cfi_def_cfa_offset 64
 583:uc_libc_dev/stdio/stdio_uc.c **** 	#if (STDIO_USE_WEEKDAY_PORTUGUESE == pdON)
 584:uc_libc_dev/stdio/stdio_uc.c **** 	const char diasem[7][4] = { "DOM", "SEG", "TER", "QUA", "QUI", "SEX", "SAB" };
 1611              		.loc 1 584 0
 1612 0006 03AE     		add	r6, sp, #12
 582:uc_libc_dev/stdio/stdio_uc.c **** 	#if (STDIO_USE_WEEKDAY_PORTUGUESE == pdON)
 1613              		.loc 1 582 0
 1614 0008 0546     		mov	r5, r0
 1615 000a 8E46     		mov	lr, r1
 1616 000c 3746     		mov	r7, r6
 1617              		.loc 1 584 0
 1618 000e 114C     		ldr	r4, .L196
 1619 0010 04F11808 		add	r8, r4, #24
 1620              	.LVL209:
 1621              	.L194:
 1622 0014 B446     		mov	ip, r6
 1623 0016 2068     		ldr	r0, [r4]	@ unaligned
 1624 0018 6168     		ldr	r1, [r4, #4]	@ unaligned
 1625 001a 0834     		adds	r4, r4, #8
 1626 001c ACE80300 		stmia	ip!, {r0, r1}
 1627 0020 4445     		cmp	r4, r8
 1628 0022 6646     		mov	r6, ip
 1629 0024 F6D1     		bne	.L194
 585:uc_libc_dev/stdio/stdio_uc.c **** 	#else
 586:uc_libc_dev/stdio/stdio_uc.c **** 	const char diasem[7][4] = { "SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT" };
 587:uc_libc_dev/stdio/stdio_uc.c **** 	#endif
 588:uc_libc_dev/stdio/stdio_uc.c **** 
 589:uc_libc_dev/stdio/stdio_uc.c **** 	static string result;
 590:uc_libc_dev/stdio/stdio_uc.c **** 	sformat(result, "%s - %02d/%02d/%02d", diasem[wday%7], mday, month, year);
 1630              		.loc 1 590 0
 1631 0026 0721     		movs	r1, #7
 1632 0028 B5FBF1F1 		udiv	r1, r5, r1
 1633 002c C1EBC101 		rsb	r1, r1, r1, lsl #3
 584:uc_libc_dev/stdio/stdio_uc.c **** 	#else
 1634              		.loc 1 584 0
 1635 0030 2068     		ldr	r0, [r4]	@ unaligned
 1636              		.loc 1 590 0
 1637 0032 6D1A     		subs	r5, r5, r1
 1638 0034 EDB2     		uxtb	r5, r5
 584:uc_libc_dev/stdio/stdio_uc.c **** 	#else
 1639              		.loc 1 584 0
 1640 0036 CCF80000 		str	r0, [ip]	@ unaligned
 1641              		.loc 1 590 0
 1642 003a 0749     		ldr	r1, .L196+4
 1643 003c 8DE80C00 		stmia	sp, {r2, r3}
 1644 0040 0648     		ldr	r0, .L196+8
 1645 0042 7346     		mov	r3, lr
 1646              	.LVL210:
 1647 0044 07EB8502 		add	r2, r7, r5, lsl #2
 1648              	.LVL211:
 1649 0048 FFF7FEFF 		bl	sformat
 1650              	.LVL212:
 591:uc_libc_dev/stdio/stdio_uc.c **** 	return result;
 592:uc_libc_dev/stdio/stdio_uc.c **** }
 1651              		.loc 1 592 0
 1652 004c 0348     		ldr	r0, .L196+8
 1653 004e 0AB0     		add	sp, sp, #40
 1654              	.LCFI28:
 1655              		.cfi_def_cfa_offset 24
 1656              		@ sp needed
 1657 0050 BDE8F081 		pop	{r4, r5, r6, r7, r8, pc}
 1658              	.L197:
 1659              		.align	2
 1660              	.L196:
 1661 0054 10000000 		.word	.LANCHOR9+16
 1662 0058 00000000 		.word	.LC2
 1663 005c 00000000 		.word	.LANCHOR10
 1664              		.cfi_endproc
 1665              	.LFE23:
 1667              		.section	.text.time2str,"ax",%progbits
 1668              		.align	1
 1669              		.global	time2str
 1670              		.thumb
 1671              		.thumb_func
 1673              	time2str:
 1674              	.LFB24:
 593:uc_libc_dev/stdio/stdio_uc.c **** 
 594:uc_libc_dev/stdio/stdio_uc.c **** pchar time2str(u8 hour, u8 min, u8 sec) {
 1675              		.loc 1 594 0
 1676              		.cfi_startproc
 1677              		@ args = 0, pretend = 0, frame = 0
 1678              		@ frame_needed = 0, uses_anonymous_args = 0
 1679              	.LVL213:
 1680 0000 13B5     		push	{r0, r1, r4, lr}
 1681              	.LCFI29:
 1682              		.cfi_def_cfa_offset 16
 1683              		.cfi_offset 4, -8
 1684              		.cfi_offset 14, -4
 595:uc_libc_dev/stdio/stdio_uc.c **** 	static string result;
 596:uc_libc_dev/stdio/stdio_uc.c **** 	sformat(result,"%02d:%02d'%02d", hour, min, sec);
 1685              		.loc 1 596 0
 1686 0002 054C     		ldr	r4, .L199
 1687 0004 0092     		str	r2, [sp]
 1688 0006 0B46     		mov	r3, r1
 1689 0008 0246     		mov	r2, r0
 1690              	.LVL214:
 1691 000a 0449     		ldr	r1, .L199+4
 1692              	.LVL215:
 1693 000c 2046     		mov	r0, r4
 1694              	.LVL216:
 1695 000e FFF7FEFF 		bl	sformat
 1696              	.LVL217:
 597:uc_libc_dev/stdio/stdio_uc.c **** 	return result;
 598:uc_libc_dev/stdio/stdio_uc.c **** }
 1697              		.loc 1 598 0
 1698 0012 2046     		mov	r0, r4
 1699 0014 02B0     		add	sp, sp, #8
 1700              	.LCFI30:
 1701              		.cfi_def_cfa_offset 8
 1702              		@ sp needed
 1703 0016 10BD     		pop	{r4, pc}
 1704              	.L200:
 1705              		.align	2
 1706              	.L199:
 1707 0018 00000000 		.word	.LANCHOR11
 1708 001c 14000000 		.word	.LC3
 1709              		.cfi_endproc
 1710              	.LFE24:
 1712              		.section	.rodata
 1713              		.set	.LANCHOR9,. + 0
 1714              	.LC0:
 1715 0000 30       		.byte	48
 1716 0001 31       		.byte	49
 1717 0002 32       		.byte	50
 1718 0003 33       		.byte	51
 1719 0004 34       		.byte	52
 1720 0005 35       		.byte	53
 1721 0006 36       		.byte	54
 1722 0007 37       		.byte	55
 1723 0008 38       		.byte	56
 1724 0009 39       		.byte	57
 1725 000a 41       		.byte	65
 1726 000b 42       		.byte	66
 1727 000c 43       		.byte	67
 1728 000d 44       		.byte	68
 1729 000e 45       		.byte	69
 1730 000f 46       		.byte	70
 1731              	.LC1:
 1732 0010 444F4D00 		.ascii	"DOM\000"
 1733 0014 53454700 		.ascii	"SEG\000"
 1734 0018 54455200 		.ascii	"TER\000"
 1735 001c 51554100 		.ascii	"QUA\000"
 1736 0020 51554900 		.ascii	"QUI\000"
 1737 0024 53455800 		.ascii	"SEX\000"
 1738 0028 53414200 		.ascii	"SAB\000"
 1739              		.section	.bss.dev1_putc,"aw",%nobits
 1740              		.align	2
 1741              		.set	.LANCHOR4,. + 0
 1744              	dev1_putc:
 1745 0000 00000000 		.space	4
 1746              		.section	.bss.dev2_putc,"aw",%nobits
 1747              		.align	2
 1748              		.set	.LANCHOR5,. + 0
 1751              	dev2_putc:
 1752 0000 00000000 		.space	4
 1753              		.section	.bss.stdio_putc,"aw",%nobits
 1754              		.align	2
 1755              		.set	.LANCHOR1,. + 0
 1758              	stdio_putc:
 1759 0000 00000000 		.space	4
 1760              		.section	.bss.dev4_putc,"aw",%nobits
 1761              		.align	2
 1762              		.set	.LANCHOR7,. + 0
 1765              	dev4_putc:
 1766 0000 00000000 		.space	4
 1767              		.section	.rodata.str1.1,"aMS",%progbits,1
 1768              	.LC2:
 1769 0000 2573202D 		.ascii	"%s - %02d/%02d/%02d\000"
 1769      20253032 
 1769      642F2530 
 1769      32642F25 
 1769      30326400 
 1770              	.LC3:
 1771 0014 25303264 		.ascii	"%02d:%02d'%02d\000"
 1771      3A253032 
 1771      64272530 
 1771      326400
 1772              		.section	.bss.dev3_putc,"aw",%nobits
 1773              		.align	2
 1774              		.set	.LANCHOR6,. + 0
 1777              	dev3_putc:
 1778 0000 00000000 		.space	4
 1779              		.section	.bss.result.4941,"aw",%nobits
 1780              		.set	.LANCHOR10,. + 0
 1783              	result.4941:
 1784 0000 00000000 		.space	64
 1784      00000000 
 1784      00000000 
 1784      00000000 
 1784      00000000 
 1785              		.section	.bss.putcharfunc.4764,"aw",%nobits
 1786              		.align	2
 1787              		.set	.LANCHOR0,. + 0
 1790              	putcharfunc.4764:
 1791 0000 00000000 		.space	4
 1792              		.section	.bss.stdio_getc,"aw",%nobits
 1793              		.align	2
 1794              		.set	.LANCHOR8,. + 0
 1797              	stdio_getc:
 1798 0000 00000000 		.space	4
 1799              		.section	.bss.result.4947,"aw",%nobits
 1800              		.set	.LANCHOR11,. + 0
 1803              	result.4947:
 1804 0000 00000000 		.space	64
 1804      00000000 
 1804      00000000 
 1804      00000000 
 1804      00000000 
 1805              		.section	.bss.debug_putc,"aw",%nobits
 1806              		.align	2
 1807              		.set	.LANCHOR2,. + 0
 1810              	debug_putc:
 1811 0000 00000000 		.space	4
 1812              		.section	.bss.err_putc,"aw",%nobits
 1813              		.align	2
 1814              		.set	.LANCHOR3,. + 0
 1817              	err_putc:
 1818 0000 00000000 		.space	4
 1819              		.text
 1820              	.Letext0:
 1821              		.file 2 "uc_libc_dev/_libdef/uc_libdefs.h"
 1822              		.file 3 "d:\\cc\\arm-yagarto-5.4.2016q3\\lib\\gcc\\arm-none-eabi\\5.4.1\\include\\stdarg.h"
 1823              		.file 4 "uc_libc_dev/stdio/stdio_uc.h"
 1824              		.file 5 "<built-in>"
DEFINED SYMBOLS
                            *ABS*:00000000 stdio_uc.c
D:\_temp\_windows\ccmLNtpl.s:20     .text.print_putchar:00000000 $t
D:\_temp\_windows\ccmLNtpl.s:24     .text.print_putchar:00000000 print_putchar
D:\_temp\_windows\ccmLNtpl.s:63     .text.print_putchar:0000001e $d
D:\_temp\_windows\ccmLNtpl.s:116    .text.print_putchar:00000054 $d
D:\_temp\_windows\ccmLNtpl.s:130    .text.print_fill:00000000 $t
D:\_temp\_windows\ccmLNtpl.s:134    .text.print_fill:00000000 print_fill
D:\_temp\_windows\ccmLNtpl.s:173    .text.print_int:00000000 $t
D:\_temp\_windows\ccmLNtpl.s:177    .text.print_int:00000000 print_int
D:\_temp\_windows\ccmLNtpl.s:269    .text.print_long:00000000 $t
D:\_temp\_windows\ccmLNtpl.s:273    .text.print_long:00000000 print_long
D:\_temp\_windows\ccmLNtpl.s:358    .text.print_float:00000000 $t
D:\_temp\_windows\ccmLNtpl.s:362    .text.print_float:00000000 print_float
D:\_temp\_windows\ccmLNtpl.s:507    .text.print_float:000000ac $d
D:\_temp\_windows\ccmLNtpl.s:513    .text.rprintf_RegisterDev:00000000 $t
D:\_temp\_windows\ccmLNtpl.s:518    .text.rprintf_RegisterDev:00000000 rprintf_RegisterDev
D:\_temp\_windows\ccmLNtpl.s:533    .text.rprintf_RegisterDev:0000000a $d
D:\_temp\_windows\ccmLNtpl.s:537    .text.rprintf_RegisterDev:0000000e $t
D:\_temp\_windows\ccmLNtpl.s:560    .text.rprintf_RegisterDev:00000020 $d
D:\_temp\_windows\ccmLNtpl.s:568    .text.lputchar_RegisterDev:00000000 $t
D:\_temp\_windows\ccmLNtpl.s:573    .text.lputchar_RegisterDev:00000000 lputchar_RegisterDev
D:\_temp\_windows\ccmLNtpl.s:588    .text.lputchar_RegisterDev:00000008 $d
D:\_temp\_windows\ccmLNtpl.s:593    .text.ldebug_RegisterDev:00000000 $t
D:\_temp\_windows\ccmLNtpl.s:598    .text.ldebug_RegisterDev:00000000 ldebug_RegisterDev
D:\_temp\_windows\ccmLNtpl.s:613    .text.ldebug_RegisterDev:00000008 $d
D:\_temp\_windows\ccmLNtpl.s:618    .text.lerr_RegisterDev:00000000 $t
D:\_temp\_windows\ccmLNtpl.s:623    .text.lerr_RegisterDev:00000000 lerr_RegisterDev
D:\_temp\_windows\ccmLNtpl.s:638    .text.lerr_RegisterDev:00000008 $d
D:\_temp\_windows\ccmLNtpl.s:643    .text.lgetchar_RegisterDev:00000000 $t
D:\_temp\_windows\ccmLNtpl.s:648    .text.lgetchar_RegisterDev:00000000 lgetchar_RegisterDev
D:\_temp\_windows\ccmLNtpl.s:663    .text.lgetchar_RegisterDev:00000008 $d
D:\_temp\_windows\ccmLNtpl.s:670    .text.doprint:00000000 $t
D:\_temp\_windows\ccmLNtpl.s:675    .text.doprint:00000000 doprint
D:\_temp\_windows\ccmLNtpl.s:1362   .text.doprint:0000036c $d
D:\_temp\_windows\ccmLNtpl.s:1369   .text.lgetchar:00000000 $t
D:\_temp\_windows\ccmLNtpl.s:1374   .text.lgetchar:00000000 lgetchar
D:\_temp\_windows\ccmLNtpl.s:1390   .text.lgetchar:00000008 $d
D:\_temp\_windows\ccmLNtpl.s:1395   .text.lputchar:00000000 $t
D:\_temp\_windows\ccmLNtpl.s:1400   .text.lputchar:00000000 lputchar
D:\_temp\_windows\ccmLNtpl.s:1416   .text.lputchar:00000008 $d
D:\_temp\_windows\ccmLNtpl.s:1421   .text.rprintf:00000000 $t
D:\_temp\_windows\ccmLNtpl.s:1426   .text.rprintf:00000000 rprintf
D:\_temp\_windows\ccmLNtpl.s:1483   .text.sformat:00000000 $t
D:\_temp\_windows\ccmLNtpl.s:1488   .text.sformat:00000000 sformat
D:\_temp\_windows\ccmLNtpl.s:1545   .text.sFormatArgs:00000000 $t
D:\_temp\_windows\ccmLNtpl.s:1550   .text.sFormatArgs:00000000 sFormatArgs
D:\_temp\_windows\ccmLNtpl.s:1587   .text.date2str:00000000 $t
D:\_temp\_windows\ccmLNtpl.s:1592   .text.date2str:00000000 date2str
D:\_temp\_windows\ccmLNtpl.s:1661   .text.date2str:00000054 $d
D:\_temp\_windows\ccmLNtpl.s:1668   .text.time2str:00000000 $t
D:\_temp\_windows\ccmLNtpl.s:1673   .text.time2str:00000000 time2str
D:\_temp\_windows\ccmLNtpl.s:1707   .text.time2str:00000018 $d
D:\_temp\_windows\ccmLNtpl.s:1740   .bss.dev1_putc:00000000 $d
D:\_temp\_windows\ccmLNtpl.s:1744   .bss.dev1_putc:00000000 dev1_putc
D:\_temp\_windows\ccmLNtpl.s:1747   .bss.dev2_putc:00000000 $d
D:\_temp\_windows\ccmLNtpl.s:1751   .bss.dev2_putc:00000000 dev2_putc
D:\_temp\_windows\ccmLNtpl.s:1754   .bss.stdio_putc:00000000 $d
D:\_temp\_windows\ccmLNtpl.s:1758   .bss.stdio_putc:00000000 stdio_putc
D:\_temp\_windows\ccmLNtpl.s:1761   .bss.dev4_putc:00000000 $d
D:\_temp\_windows\ccmLNtpl.s:1765   .bss.dev4_putc:00000000 dev4_putc
D:\_temp\_windows\ccmLNtpl.s:1773   .bss.dev3_putc:00000000 $d
D:\_temp\_windows\ccmLNtpl.s:1777   .bss.dev3_putc:00000000 dev3_putc
D:\_temp\_windows\ccmLNtpl.s:1783   .bss.result.4941:00000000 result.4941
D:\_temp\_windows\ccmLNtpl.s:1784   .bss.result.4941:00000000 $d
D:\_temp\_windows\ccmLNtpl.s:1786   .bss.putcharfunc.4764:00000000 $d
D:\_temp\_windows\ccmLNtpl.s:1790   .bss.putcharfunc.4764:00000000 putcharfunc.4764
D:\_temp\_windows\ccmLNtpl.s:1793   .bss.stdio_getc:00000000 $d
D:\_temp\_windows\ccmLNtpl.s:1797   .bss.stdio_getc:00000000 stdio_getc
D:\_temp\_windows\ccmLNtpl.s:1803   .bss.result.4947:00000000 result.4947
D:\_temp\_windows\ccmLNtpl.s:1804   .bss.result.4947:00000000 $d
D:\_temp\_windows\ccmLNtpl.s:1806   .bss.debug_putc:00000000 $d
D:\_temp\_windows\ccmLNtpl.s:1810   .bss.debug_putc:00000000 debug_putc
D:\_temp\_windows\ccmLNtpl.s:1813   .bss.err_putc:00000000 $d
D:\_temp\_windows\ccmLNtpl.s:1817   .bss.err_putc:00000000 err_putc
                     .debug_frame:00000010 $d
D:\_temp\_windows\ccmLNtpl.s:70     .text.print_putchar:00000025 $d
D:\_temp\_windows\ccmLNtpl.s:70     .text.print_putchar:00000026 $t

UNDEFINED SYMBOLS
__aeabi_dcmplt
__aeabi_d2iz
__aeabi_i2d
__aeabi_dsub
__aeabi_dmul
__aeabi_dcmpgt
__aeabi_dcmpeq
__aeabi_ddiv
